Sunteți pe pagina 1din 474

IQANdesign

Version 5.04

User manual

IQANdesign User manual


License
Software User Agreement
Important-please read carefully before use of the Software.
Your use of this computer program is subject to the terms and conditions of the following Soft-
ware User Agreement. If you do not wish to accept these terms and conditions, do not install or
use this Software and please return this Software to the place you obtained it for refund.

License agreement, restrictions on use


Use
This is a license agreement between you (the entity to whom this software is provided) and
Parker Hannifin Corporation (“Licensor”). This agreement permits you to Use each program
furnished directly or indirectly from Licensor, either by Licensor or its authorized distributors
(“Distributors”) including any Copies thereof and any supporting materials and any related
updated programs or program portions (“Software”). The term “Copies” means any duplica-
tions, reproductions, transcriptions of any Software, either in whole or in part and by any
means whatsoever including electronic, mechanical, and manual processes. The term “Use”
means copying any portion of any Software or using any Software, but only in connection with
the analysis, specification, use, installation, repair, sale of products through Licensor or its
Distributors.

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,

IQANdesign User manual


Licensor and its Distributors shall not have any liability or incur any expense or be affected in
any way by any such modification or merger, even if such modification or merger results in the
formation of an updated or new work. Rather, such Software, in its modified or merged form,
shall continue at all times to be the sole and exclusive property of Licensor and shall be subject
to all provisions of this Agreement.

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.

IQANdesign User manual


IQANconnect Service Agreement
PLEASE READ THIS SERVICE AGREEEMENT CAREFULLY BEFORE USING THE
IQANconnect SERVICES. BY USING THE IQANconnect SERVICE YOU ARE AGREE-
ING TO BE BOUND BY THE TERMS OF THIS LICENSE AGREEMENT. IF YOU DO
NOT AGREE TO THE TERMS OF THIS LICENSE, DO NOT USE ANY SERVICE
RELATED TO IQANconnect.

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.

License Uses and Restrictions


A. If “Licensed User” obtained the IQANconnect licenses under a volume program with
Parker, the terms of your volume license will determine the permitted use of the
services on devices you own/control. Except as agreed to in writing by Licensor, all
other terms and conditions of this License shall apply to “Licensed User” of the IQAN
Service.
B. Service is supported only by hardware that meets specified system requirements as
indicated by Parker.
C. “Licensed User” agree to use IQANconnect services in compliance with all applicable
laws, including local laws of the country or region in which you reside or in which you
download or use the IQANconnect service.

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.

IQANdesign User manual


Technical support and service update
Client’s designated “Licensed User” may initiate Technical Support during Normal Support
Hours by raising a Parker help desk ticket at www.parker.com.
Parker reserves the right to change/update the functionality, look and feel and content of the
IQANconnect service and license forms and other aspects of the Services. Parker may imple-
ment Service Updates to the IQANconnect Services from time-to-time during the Service
Term without notice to “Licensed User”; as appropriate Parker will release to “Licensed User”
within a reasonable time thereafter any corresponding changes.

Date: 2016/08/29

IQANdesign User manual


Contents
1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Software installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
New installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
USB driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Setup command line parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
/SILENT, /VERYSILENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
/NOCANCEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
/NORESTART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
/RESTARTEXITCODE=exit code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
/CLOSEAPPLICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
/NOCLOSEAPPLICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
/FORCECLOSEAPPLICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
/NOFORCECLOSEAPPLICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
/RESTARTAPPLICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
/NORESTARTAPPLICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
/NAME="user name" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
/ORGANIZATION="organization name" . . . . . . . . . . . . . . . . . . . . . . . . . 25
/LICENSE="license number" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
/DIR="x:\dirname" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
/GROUP="folder name" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2 User interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Main window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
File operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Edit operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Add button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Project manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
System layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Application logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
External functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Measure groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Adjust items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Adjust groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
User interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Display pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

IQANdesign User manual 6


Contents

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

IQANdesign User manual 7


Contents

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

IQANdesign User manual 8


Contents

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

IQANdesign User manual 9


Contents

Voltage in (VIN) and Voltage in, 0 - 32 V (VIN32) . . . . . . . . . . . . . . . . 118


Current-loop in (CIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
PWM in (PWMIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Digital in (DIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Frequency in (FIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Frequency in, directional (DFIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Pulse count (PCNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Pulse count, directional (DPCNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Directional analog (DAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Current out (COUT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
PWM out (PWM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Digital out (DOUT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Calculation channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Mathematical channels (MAC, DMAC and IMAC) . . . . . . . . . . . . . . . 138
Internal digital (IDC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
PID regulator (PID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Integrating limiting (ILC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Event counter (ECNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Memorizing (MEM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Array (ARC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Slope/Filter (SFC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Butterworth filter (BWF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Lookup table (LTC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Function parameter (FP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Integer parameter (IP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Digital parameter (DP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
State parameter (SP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Text parameter (TP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Miscellaneous channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
State machine (SMC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Finite state machine (FSM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Module diagnostics (MDGN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
System information (SIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Timer (TMR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
SMS in (SMSIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
SMS out (SMSOUT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
User interface channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Text formatting channel (TFC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Conditional message (CMSG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Interactive message (IMSG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
PIN code channel (PCC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Virtual digital in (VDIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Display control (DCC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
J1939 CAN channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

IQANdesign User manual 10


Contents

CAN messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190


J1939 frame input (JFIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
J1939 parameter input (JPIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
J1939 frame output (JFOUT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
J1939 parameter out (JPOUT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
J1939 text output (JTOUT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Diagnostic message 1 in (DM1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Suspect parameter number in (SPN) . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
DM1 out container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
SPN out items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
TSC1 engine control (TSC1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
CRC parameter (CRC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Generic CAN channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Generic CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Generic frame in (GFIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Generic parameter in (GPIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Generic frame out (GFOUT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Generic parameter out (GPOUT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Safety channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Compare channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Analog/analog compare (AAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Digital/digital compare (DDC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Analog/digital compare (ADC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Transfer channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Application input (APPIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Application output (APPOUT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Function group input (FGI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Function group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
6 Function groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Function groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Last edited . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Move up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Function group input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Channel scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Private . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Protected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Public . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Function group output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Using protected and public channels . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Calculation order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

IQANdesign User manual 11


Contents

To rearrange the calculation order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227


Function group comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Locked function groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Locked for editing and viewing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Set function group password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Unlock a function group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Frozen function groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Safety related function groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Mark as safety related . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Export/Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Initialization function group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Constant channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
External functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Changing file name or path to an external file . . . . . . . . . . . . . . . . . . 240
Breaking link to external file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Function group options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Show menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
7 Functions using Qcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Qcode editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Expression hints and errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Multiple line indent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Qcode syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Line break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Local variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Static variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Conditional statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Operators, functions and commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Relational operators and functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Arithmetic operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Boolean operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Trigonometric functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Logical (bitwise) operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Other functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Status comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Array operators and functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Operator precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Channel naming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

IQANdesign User manual 12


Contents

Unique names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257


Function group specifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Local variable names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Whitespace characters in names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Reserved words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
8 Functions using object list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Object groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Object group types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Object group method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Single object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Dual object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Vector object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Multi vector object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Math object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
9 Measure groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Measure groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Add a new measure group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Measure in IQANdesign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Start/Stop measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Clear values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Graph options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Measure item properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Measure in other views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Position the cursors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Locking the cursors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Exporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Measure files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Zooming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Zoom in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Zoom out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Scroll in X and Y directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Move a curve along the Y-axis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Auto scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Multimeter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Adding channels and measure items . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Magnifying items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
10 Adjust groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Adjustable channel types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Factory default . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Application default . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288

IQANdesign User manual 13


Contents

Stored channel types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289


Adjust items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Single adjust item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Dual adjust item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Quad adjust item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Adjust parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Integer parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Real parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Text parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
State parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Boolean parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
PIN code parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Adjust groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Protect an adjust group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Reference channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Add a new adjust group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Send project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Get project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Settings kept during software update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Project ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Component ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Number of states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Access levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
11 Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Status and system messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
System messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
System log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
System events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Event log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Value log item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Event log item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Measure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Statistics log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Add a statistics log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Counter log item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Hour counter log item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Min and max log items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315

IQANdesign User manual 14


Contents

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

IQANdesign User manual 15


Contents

Resizing controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351


Zoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Snap to other controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
System dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Vertical and Horizontal alignment tools . . . . . . . . . . . . . . . . . . . . . . . . 351
Orthogonal alignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Horizontal and vertical distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Control order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Hide controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Physical display buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Button positions, IQAN-MD3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Gradients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Color stops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Images and Image groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Create an image group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Add images to an image group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Image Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Assigning images to controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Start up image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
To change the start up image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
PDF documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Add PDF documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
15 Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Managing application languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Language properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Adding multi-language texts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Memory consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Send project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Font selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
16 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Project password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Adding password protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Change or remove a password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Safe passwords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Password database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379

IQANdesign User manual 16


Contents

Password types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380


Date restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Add password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Safe passwords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Safe password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Create a safe password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Access levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Add an access level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Superuser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Add a user . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Project security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Security properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Component properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
17 System communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Internet settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Quick switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Send project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Get project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Set date and time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Remote diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
IQANconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Proemion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Disconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
18 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
IQANsimulate synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
IQANdesign controlling IQANsimulate . . . . . . . . . . . . . . . . . . . . . . . . . 404
IQANsimulate controlling IQANdesign . . . . . . . . . . . . . . . . . . . . . . . . . 404
19 Multiple master modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Single master or multi master? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
System design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Diagnostics bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Headmaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Optional modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Expansion modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410

IQANdesign User manual 17


Contents

System time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411


Safety aspects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
APPIN/APPPOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Diagnostic connection to other masters . . . . . . . . . . . . . . . . . . . . . . . 412
Erroneous or incomplete systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
The multi-master state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Check of project ID and revision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Alien modules on the bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Missing modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Updates and clones in incomplete systems . . . . . . . . . . . . . . . . . . . . 415
20 Coding guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
General guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
Naming conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
Value types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
Calculation order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Project check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
General safety principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
De-energization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Error detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Error detection action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Start and restart conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
One control station at a time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Protect parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Limit remote access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Safety related applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Safety related function groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Interfaces to non safety related functions . . . . . . . . . . . . . . . . . . . . . . 428
Application defaults on parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Input integrity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Qcode guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
Indentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
Parenthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
Blank spaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
Blank lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
Naming conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
Line break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
If statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
21 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
Present inputs on a display module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Controlling a boom function, using Object list . . . . . . . . . . . . . . . . . . . . . . 447

IQANdesign User manual 18


Contents

Adding measure groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457


Diesel engine CAN communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
Using states on a remote controlled crane . . . . . . . . . . . . . . . . . . . . . . . . . . 466
State machine channel (SMC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
Finite state machine (FSM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
State parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473

IQANdesign User manual 19


1 Installation

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.

IQANdesign User manual 20


Software installation
1 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.

License Agreement page in installation program.

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.

IQANdesign User manual 21


Software installation
1 Installation

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.

Driver installation confirmation dialog.

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.

Installing device driver software.

• Wait for the installation to be completed.

IQANdesign User manual 22


Software installation
1 Installation

Device driver software installed successfully.

IQANdesign User manual 23


Setup command line parameters
1 Installation

Setup command line parameters


The Setup program accepts optional command line parameters. These can be
useful to system administrators, and to other programs calling the Setup pro-
gram.

/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.

IQANdesign User manual 24


Setup command line parameters
1 Installation

/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.

IQANdesign User manual 25


2 User interface

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.

IQANdesign User manual 26


Main window
2 User interface

Main window
The main window of IQANdesign is divided into several panels.

IQANdesign main window.

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.

IQANdesign User manual 27


Main window
2 User interface

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.

File open dialog showing IQANdesign files.

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.

IQANdesign User manual 28


Main window
2 User interface

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.

IQANdesign User manual 29


Add button
2 User interface

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.

IQANdesign User manual 30


Project manager
2 User interface

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.

IQANdesign User manual 31


Project manager
2 User interface

Block diagram for an IQAN 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.

IQANdesign User manual 32


Project manager
2 User interface

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.

IQANdesign User manual 33


Project manager
2 User interface

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.

Function inspector using Qcode.

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.

Function inspector using object list.

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.

IQANdesign User manual 34


Project manager
2 User interface

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.

IQANdesign User manual 35


Project manager
2 User interface

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.

IQANdesign User manual 36


Project manager
2 User interface

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.

Hiding or resizing the project manager


The project manager can be hidden (and shown) by clicking the splitter on the
right side. There is also a menu item for this, View > Project Manager.
Drag the splitter to resize the project manager.

Drag and drop


Inside the project manager panel it is easy to perform certain tasks using drag
and drop.
Assigning channels to modules is very easy. Expand the System Layout node
in the project manager. Then select the function group node under Applica-
tion Logic that contains the channel you want to assign to a module. Now
simply click the channel and drag it to a module in the project manager.

Dropping a channel onto a module using drag and drop.

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.

IQANdesign User manual 37


Property inspector
2 User interface

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.

Property inspector, property “Scaled max”.

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>.

IQANdesign User manual 38


Property inspector
2 User interface

If you start typing when focus is on a component in the main workspace,


focus is moved to the active property in the property inspector. Type the new
value and press <Enter> to move focus back to the component. This is very
useful if you are changing the same property but with different values on
many components. If you want the same property value on many compo-
nents, see next section.
You can also press <Alt+Enter> to move focus back and forth between the
property inspector and the component.

Changing a property on multiple components


It is possible to change a common property on several components at once.
Select the components in the main workspace. When multiple components
are selected, the property inspector will show only the properties that are
shared by all the selected components, for example Name or Description.
If a property has different values on the selected components, its value will be
Indeterminate in the property inspector. If all the selected components has the
same property value, its shared value will be presented in the property inspec-
tor.
Select the property you want to change. Enter or select a new value. The
property is updated on all the selected components.

Changing properties on multiple channels.

Drag and drop copying


You can copy the value of one property to another by dragging the source
property and drop it on the destination property. This is particularly useful for
group properties. For example, you have defined all currents in the positive
direction for a current output channel. To use the same currents in the nega-
IQANdesign User manual 39
Property inspector
2 User interface

tive direction, simply drag the group property Positive direction and drop it
on Negative direction.

Drag and drop copy.

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.

Automatic property values


Some properties have values that can be set automatically by IQANdesign.
For example the name of a log item can be set to the same value as the name
of the channel that it refers to.
If you like to have another value than the automatic value for these properties
you just need to type your own value and the automatic update will stop for
that property. You can enable it again by right-clicking on the property name
and check the Automatic value option, or by clicking on the link symbol left
of the property name. The link symbol appears when automatic value is avail-
able. If disabled, the symbol is a broken link.

IQANdesign User manual 40


Property inspector
2 User interface

Property inspector showing two properties with automatic value option, one enabled (Background
color) and one disabled (Bar color).

Property inspector options


Select Tools > Options and go to tab Property inspector in the dialog box that
is shown.
Check Show hints when text does not fit in window to see the complete text in
a hint window when you point at a component with the mouse.
Check Hide Property inspector while measuring to automatically hide the
property inspector panel when you start to measure. The property inspector is
always disabled while measuring.
Check Enable autocomplete to show a drop down list with matching values
when typing a property value in the property inspector.
Specify a color for reference properties, such as the Input property for a func-
tion group input channel. These properties are vital to the behavior of its com-
ponent.

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.

IQANdesign User manual 41


Property inspector
2 User interface

Description example.

IQANdesign User manual 42


Component navigator
2 User interface

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.

IQANdesign User manual 43


CAN database
2 User interface

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.

CAN database window.

Adding and removing .dbc files


The CAN database can handle information from multiple .dbc files. There is
one tab for each .dbc file added. Initially, IQANdesign comes with a complete
standard J1939 database installed. To import a .dbc file, click on the + tab. An
open file dialog appears, select your .dbc file and click Open. The informa-
tion in your .dbc file is imported to the CAN database, and a new tab is added
for it. To remove a previously added file, right-click on its tab and select
Remove.

Adding CAN channels


Mark the checkbox for all CAN messages and parameters that you want to
add to your application. When you mark a CAN message, all its parameters
will also be marked. Unmark the ones you don’t need. All marked CAN mes-

IQANdesign User manual 44


CAN database
2 User interface

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.

Exploring CAN database


To find a CAN message or parameter, you can enter a search phrase in the fil-
ter field above the tree view. This will filter out all messages and parameters
that match your text. It is also possible to sort on the different columns in the
tree view by clicking on the column headers.
Select an item in the tree view to see detailed information about it in the bot-
tom text field.

IQANdesign User manual 45


Project documentation
2 User interface

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.

Project documentation window.

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

Project info Name, description, version, author, comment and last


changed info.

System Contains sub sections system image, modules, pin list


and module images

IQANdesign User manual 46


Project documentation
2 User interface

System > System image System overview image with all modules and CAN
buses in the application.

System > Modules Adds one section for each module.

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 Contains sub sections interface description, function


group images and channels.

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

Function groups > Adds a list of channels in each function group.


Channels

Diagnostics Contains sub sections measure groups, adjust groups


and logs.

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.

Display pages > Display Adds an image of each display page.


page images

Security Lists all access levels and their corresponding users.

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.

IQANdesign User manual 47


Project documentation
2 User interface

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.

IQANdesign User manual 48


Library Manager
2 User interface

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-

IQANdesign User manual 49


Library Manager
2 User interface

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.

IQANdesign User manual 50


File compare
2 User interface

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.

File compare dialog box.

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.

IQANdesign User manual 51


File compare
2 User interface

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.

Compare with a text file


If the other application that you want to compare with was created in another
version of IQANdesign you probably want to see what differences IQANde-
sign may have caused to the application, such as adding new properties. To
do that you need to open the other application in its original version of
IQANdesign and save it as a text file. Select File > Save As and in the save
dialog box that pops up, change Save as type to Text file (*.txt).

Save As dialog box.

Enter a file name and click Save.


Go back to your current version of IQANdesign, open your current applica-
tion and select File > Compare With. In the open dialog box, change Files of
type to Text files (*.txt). Select the text file you created earlier and click Open.
The file compare dialog box is displayed, see above.

Command line compare


When using a version control tool it is useful to be able to compare two ver-
sions of a project file using integrated compare features of the version control
tool. To support this IQANdesign can be used as a difference viewer by pass-
ing two project files as arguments when starting the program together with
the -diff command line argument.

IQANdesign User manual 52


File compare
2 User interface

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

IQANdesign User manual 53


Dialog options
2 User interface

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 Dialog tab.

Save before sending project


Automatically saves file before sending to the master.

Save As after getting project


Automatically brings up Save As dialog when project is uploaded from an
IQAN system.

IQANdesign User manual 54


Dialog options
2 User interface

Show send/get options dialog


Shows the settings option dialog box before sending and after getting an
application. See section Adjust items on page 290 and section Get project on
page 301 for more information.

Show send language options dialog


Shows the send language options dialog before sending the project. This dia-
log makes it possible to select which languages from the project that should
be sent to the master.

Create backup file when saving application


Automatically creates a backup of an existing file when saving. The backup is
named “Backup copy of <filename>”. You can also specify a folder where all
backup files are stored. Leave folder name empty to store backup file in the
same folder as the original file.

Create lock file when opening application


Creates a lock file when opening an existing file. The lock file prevents other
users from opening the same file while you are using it. If another user tries to
open the same file a warning dialog box is shown to him.

File lock warning.

Show startup dialog box


Enables dialog box for creating new file, opening an existing file, getting a
project from an IQAN system or opening your most recent file at startup.

IQANdesign User manual 55


Dialog options
2 User interface

Startup dialog box.

IQANdesign User manual 56


Show again options
2 User interface

Show again options


Some message dialog boxes have a check box named Never show this again.
By selecting that check box, you will never be shown that information or
asked that question again. Here is how you enable those messages again.
Select Tools > Options to show the IQANdesign options dialog box.

Show again options.

Switch to the Show again tab. Select the messages that you want to be shown
again.

IQANdesign User manual 57


Other options
2 User interface

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.

Automatically check for updates


Select how often you want IQANdesign to automatically check for updates.
Select Never to disable this function.

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.

IQANdesign User manual 58


Help
2 User interface

Help
The help menu contains the usual menu items.

Contents
Will bring up the help file, which is this book as a PDF document.

IQAN Home Page


Starts your web browser and goes to http://www.iqan.com.

IQAN User Forum


Starts your web browser and goes to http://forum.iqan.se.

Release Notes
Starts your web browser and displays release notes for this version of
IQANdesign.

Check for updates


Check for an updated version of IQANdesign on the Internet. Requires an
Internet connection. If there is a new version, you will be informed on what
has been changed and then you can download and install the new version.
When you download a new version, your license and user information will be
sent to our server to collect usage statistics, see table below.

Collected information

IP address The IP address you are connecting from, typically the


address of your company’s Internet gateway or your
ISP.

License number, name and The information you entered when IQANdesign was
company installed.

License type Full, evaluation or beta.

Installation date The date when IQANdesign was installed.

Days used The number of days IQANdesign has been used.

Versions The versions you are upgrading from and to.

About
Displays a dialog box with licence and version information.

IQANdesign User manual 59


3 Project

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.

IQANdesign User manual 60


Modules, channels and functions
3 Project

Modules, channels and functions


A project file contains information about the system’s modules, buses,
addresses, external channels (physical inputs and outputs) and so called inter-
nal channels, that are handled and calculated by the master. You use
IQANdesign to create all of that information.

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

Input channel Internal channel Internal channel Output channel

Properties Properties Properties


Functions
A simple illustration, how the channels can influence on each other.

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.

IQANdesign User manual 61


Modules, channels and functions
3 Project

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.

IQANdesign User manual 62


Function groups
3 Project

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.

IQANdesign User manual 63


Graphical user interface
3 Project

Graphical user interface


So far, we have only talked about machine functionality. IQANdesign also
includes tools and components to create the graphical user interface for one
or more display modules, used in the cabin for instance.
All of the below described components are part of and stored in your project
file.

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.

IQANdesign User manual 64


Project check
3 Project

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.

Project check 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

IQANdesign User manual 65


Project check
3 Project

and click Refresh to check the application again. If you’ve fixed it correctly,
the item will now disappear from the list.

Safety related function groups


Function groups can be marked safety related, see section Safety related func-
tion groups on page 234. Such function groups will be checked more rigor-
ously during the application check.
Some channels or mathematical operations are not allowed in safety related
function groups and will generate errors if used. There are also some warn-
ings that are propagated to errors when they occur in safety related function
groups.
For a list of what is checked, see section Safety related function groups on
page 234.

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.

IQANdesign User manual 66


Project check
3 Project

Project check options.

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.

IQANdesign User manual 67


Project statistics
3 Project

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.

IQANdesign User manual 68


Project statistics
3 Project

Property count
Specifies the total number of properties in your project. Different property
types are listed separately under this node.

Total stored size


Specifies the amount of non-volatile memory needed to store your applica-
tion in the master module. Total stored size is the sum of application, lan-
guages, images, fonts and PDF documents. These items are presented as
separate nodes since they are sent as separate “files” when downloading to a
master module.
The images is often a major part of the complete size, so this is a good place
to start if you need to reduce the size. Each separate language size is listed
under the languages node.
For more information on stored size, see section Non-volatile memory on
page 71.

Settings memory size


Specifies the amount of non volatile memory needed to store the settings of
your application. The settings consists of adjust items and stored channels.
The non volatile memory used for settings is separate from that used for stor-
ing the application.

Estimated memory utilization


Specifies the estimated amount of volatile memory (RAM) needed to run
your application in the master module. Some major parts of your application,
such as function groups, logs and display pages are listed separately under
this node. This can be very helpful when you need to find where your applica-
tion consumes the most volatile memory.

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.

IQANdesign User manual 69


Project statistics
3 Project

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.

IQANdesign User manual 70


Project statistics
3 Project

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.

IQANdesign User manual 71


Project passwords
3 Project

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.

IQANdesign User manual 72


Project ID
3 Project

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.

Change project ID warning.

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.

IQANdesign User manual 73


Project properties
3 Project

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.

Project properties dialog.

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.

Change project ID dialog.

IQANdesign User manual 74


Application safety
3 Project

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.

Sending data to the IQAN system


When downloading data to the IQAN system, the machine’s engine must be
switched off. The machine must be positioned in a way so that it can not start
moving. Note that when a project is being downloaded to the IQAN system,
the system’s outputs become inactive.
When sending data to the master via a remote connection, special care must
be taken. Before the download can begin, the driver must acknowledge the
download request on a display module.

Protecting the project


It is highly recommended to protect the project file using the built in security
functions in IQANdesign and IQANrun.
To prevent unauthorized personnel from getting, modifying and loading the
project file, it is possible to protect the project with project passwords. It is
also possible to protect the parameters, see section Security on page 376.

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

IQANdesign User manual 75


Application safety
3 Project

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.

ALWAYS CONSIDER SAFETY WHEN DEVELOPING AND TESTING THE APPLICATION .

IQANdesign User manual 76


External function project
3 Project

External function project


The external function project is a special project file that you can reuse in
other normal project files. The idea is to make it possible to break out com-
mon application logic that you have in several other projects to a separate file.
This will allow you to update and fix problems to that application logic in one
place only, instead of having to do it in every single project file where it is
used.
It also allows two or more persons to work on the same project simultane-
ously. By breaking out certain parts of the application logic to separate exter-
nal function project files, you can have someone else work on those files at
the same time as you are working on the project file itself. When they save
their changes to the external file, IQANdesign will detect that and ask you if
you want to update your project.
External function project files use extension .idex and are created by selecting
File > New > External Function. An empty limited project file is then cre-
ated. You can only add application logic and adjust items to such a project.
All other parts of a normal project are hidden.

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.

External function protection


An external function project file can be protected in different ways. The full
access password can be set to limit permission to edit the file itself in
IQANdesign. And the limited access password will be required to be able to
use the external function in another project file, if set.
When an external function is added to the application logic in a project file, it
will be visible to the user. External functions look and behave as normal func-
tion groups, except they cannot be edited in the project file. That has to be
done in the external function project file.
If you don’t want anyone to be able to see your external functions you can
protect the function groups in it with function groups passwords. Read more
about it in section Locked function groups on page 230.

IQANdesign User manual 77


4 Modules

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.

IQANdesign User manual 78


How to connect a system in IQANdesign
4 Modules

How to connect a system in IQANdesign


Select System Layout in the project manager. You design and connect your
system of modules and CAN buses in the editor.
To add modules, double click or drag a module from the Add menu. Drag
lines between CAN ports on the modules to create a CAN bus connection.

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.

The system layout editor.

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.

Connecting modules and buses


Buses are added by dragging lines between CAN port connectors on two
modules. When a bus connection has been added there will be a circle placed
at the middle of the line, showing the bus type name. When adding more bus
connections to other modules on the same bus you can drag also to this circle
to create a connection.
Select a bus by clicking the circle in the middle. You will now see the bus
properties in the property inspector. Move the circle by dragging it to another
position. All connected lines will follow.

IQANdesign User manual 79


How to connect a system in IQANdesign
4 Modules

Select a bus connection by clicking on its line. When a bus connection is


selected you will be able to move the endpoints of it if needed, or delete it in
the same way as other components.

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.

J1939 Address claim


To be able to combine the diagnostics and master bus with J1939, the IQAN
master modules will claim J1939 addresses that will be used for communica-
tion between master modules (only applicable in systems with more than one
master module).
In a system with N master modules the J1939 addresses 128 up to 128 + N
will be claimed by default, and must not be used for other J1939 modules on
the same bus.
The address claim is done at system startup by broadcasting a J1939 Address
Claimed (PGN 60928) message on diagnostics and master buses. If a J1939
module claims any of these addresses all communication between the master
modules will be stopped.
If another module on the same bus uses a conflicting address it is possible to
change the default start address (128) for J1939 diagnostics. This is done on
the Diagnostics bus component, property J1939 start address, see also sec-
tion Diagnostics bus on page 106.

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.

IQANdesign User manual 80


How to connect a system in IQANdesign
4 Modules

For more information see section Measure in other views on page 279.

IQANdesign User manual 81


CAN routing
4 Modules

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.

Break on first route


This property determines if the routing will stop searching rules once a frame
has been routed. Setting it to Yes increases the performance of the CAN rout-
ing. If it is set to No the routing functionality will always search all rules.

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

Generic routing rule


A generic routing rule defines the default routing of CAN messages from a
certain generic bus to one or more other generic buses. It may either block all
messages or route all messages by default. Exceptions from the default action
are added based on CAN identifier.

Properties

Source Select the source bus for this rule.

Destinations One or more buses that packets shall be routed to.

Enabled Select Yes to make this rule enabled all the time, or
select a channel to enable/disable it in run-time.

Default action The default action determines what to do with


messages from the selected source. You can chose from
Block or Allow.

J1939 routing rule


A J1939 routing rule defines the default routing of CAN messages from a cer-
tain J1939 bus or J1939 module to one or more other J1939 buses. It may

IQANdesign User manual 82


CAN routing
4 Modules

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.

Destinations One or more buses that packets shall be routed to.

Enabled Select Yes to make this rule enabled all the time, or
select a channel to enable/disable it in run-time.

Default action The default action determines what to do with


messages from the selected source.You can chose from
Block or Allow.

Exceptions
For each rule you can add exceptions when needed. Start by selecting a rule,
then click Add.

Generic routing exception


Defines an exception to a generic routing rule. Frames matching the CAN
identifier defined in this exception will be routed or blocked depending on the
rule’s default action.

J1939 routing exception


Defines an exception to a J1939 routing rule. Frames matching the PGN num-
ber defined in this exception will be routed or blocked depending on the
rule’s default action.

IQANdesign User manual 83


Block diagram
4 Modules

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.

Block diagram IQAN-XA2.

Add channels to a module


When a module has been added to the system layout and you show its block
diagram the first time, it will be empty. You can populate it with pins and
channels in two different ways.
The first method is to use the Add menu. It will contain all types of physical
inputs, outputs and other channels that are available on the specific module.
These are called module pins, and they are grouped in different sections, e.g.
Inputs, Outputs and Diagnostics. Behind each pin type there are two num-
bers. The first number tells you how many pins of this type you can add right
now. The second number tells you the maximum number of pins of this type.
Double-click a pin type to add it to the block diagram.
The second method is to create a channel in a function group under Applica-
tion Logic, see section Adding channels on page 108. Then drag the channel
from the function group and drop it on the module in the project manager.
When a new channel is added to a module’s block diagram using either of
these methods there will be two components added. One is the channel itself,
and the other is its pin. The channel component is placed outside of the mod-
IQANdesign User manual 84
Block diagram
4 Modules

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.

Pin popup hint


Hover over a pin to see additional information. An assigned pin will show its
current pin numbers and alternate configurations for those pins. Available
pins shows what configurations are possible, and occupied pins shows which
configuration is currently occupying it as well as alternative configurations.

Module pin list


Using the List tab of the module editor you will get a list of all the physical
pins and information on which channel they are assigned to.

IQANdesign User manual 85


Block diagram
4 Modules

Pin list of the module editor.

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.

IQANdesign User manual 86


Modules
4 Modules

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.

IQANdesign User manual 87


Master and display modules
4 Modules

Master and display modules


This section contains information on the different master modules available
for an IQAN application.

Comparison table

Module type Display CAN buses Volatile memory Non-volatile


size (RAM) memory (Flash)

MD4-10 10" 4 n/a n/a

MD4-7 7" 4 n/a n/a

MD4-5 5" 2 or 4 n/a n/a

MD3 3.5" 3 832 KB 1536 KB

MC2 - 2 832 KB 832 KB

MC3 - 4 1408 KB 1536 KB

MC41 - 2 512 KB 512 KB

MC42 - 3 1024 KB 1024 KB

MC43 - 5 1536 KB 1536 KB

MC41FS - 2 512 KB 512 KB

MC42FS - 3 1024 KB 1024 KB

MC43FS - 5 1536 KB 1536 KB

1 MB = 1 024 KB, 1 KB = 1 024 Bytes.

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

Address Address on the CAN bus. Two modules on the same


CAN bus can not have the same address.

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.

IQANdesign User manual 88


Master and display modules
4 Modules

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.

Terminate CAN-A/B/C/D Select Yes to make CAN port A/B/C/D terminated.

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

Digital out Soft start/stop Not available. Please move channel to


Peak and hold another module to use these properties.

IQANdesign User manual 89


Master and display modules
4 Modules

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].

MD4 IP address table for port B

Module type IP address

MD4-10 192.168.131.<address tag + 1>

MD4-7 192.168.129.<address tag + 1>

MD4-5 192.168.130.<address tag + 1>

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

Address Address on the CAN bus. Two modules on the same


CAN bus can not have the same address. The following
addresses are not valid for this module: 1, 2.

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.

IQANdesign User manual 90


Master and display modules
4 Modules

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.

Terminate CAN-A/B/C Select Yes to make CAN port A/B/C terminated.

Channel properties

Digital out Soft start/stop Not available. Please move channel to


Peak and hold another module to use these 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

Address Address on the CAN bus. Two modules on the same


CAN bus can not have the same address.

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.

IQANdesign User manual 91


Master and display modules
4 Modules

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.

Terminate CAN-A/B Select Yes to make CAN port A/B terminated.

Channel properties

Frequency in Fast response With fast response all frequencies below


system sampling frequency (= 1/system
cycle time) will be detected as zero.
For example, in a 20 ms system all
frequencies below 50 Hz will be detected
as 0.

Digital out Soft start/stop Not available. Please move channel to


Peak and hold another module to use these 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).

IQANdesign User manual 92


Master and display modules
4 Modules

Properties

Address Address for this module. The address tag must


correspond to the address stated here, otherwise the
module will not start.

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.

Terminate CAN-A/B/C/D Select Yes to make CAN port A/B/C/D terminated.

Channel properties

Digital out Soft start/stop Not available. Please move channel to


Peak and hold another module to use these 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

Address Address for this module. The address tag must


correspond to the address stated here, otherwise the
module will not start.

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.

IQANdesign User manual 93


Master and display modules
4 Modules

J1939 TDA enabled Select Yes to enable the reception of J1939 PGN TDA
to synchronize the time on the master module.

Terminate CAN-A/B Select Yes to make CAN port A/B terminated.

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

Digital out Soft start/stop Not available. Please move channel to


Peak and hold another module to use these 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

Address Address for this module. The address tag must


correspond to the address stated here, otherwise the
module will not start.

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.

Terminate CAN-A/B/C Select Yes to make CAN port A/B/C terminated.

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.

IP address See same property on IQAN-MD4.

IQANdesign User manual 94


Master and display modules
4 Modules

Channel properties

Digital out Soft start/stop Not available. Please move channel to


Peak and hold another module to use these 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

Address Address for this module. The address tag must


correspond to the address stated here, otherwise the
module will not start.

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.

Terminate CAN-x Select Yes to make CAN port A/B/C/D/E terminated.

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.

IP address See same property on IQAN-MD4.

Channel properties

Digital out Soft start/stop Not available. Please move channel to


Peak and hold another module to use these properties.

MC41FS, MC42FS and MC43FS


These modules are the safety certified equivalents of MC41, MC42 and
MC43. They are SIL2 certified according to IEC-61508.

IQANdesign User manual 95


Expansion modules
4 Modules

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

Address Address on the CAN bus. Two modules of the same


type on the same CAN bus can not have the same
address.

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

Digital out Soft start/stop Not available. Please move channel to


Peak and hold another module to use these properties.

XA2
All-round expansion module with both inputs and outputs.

Properties

Address Address on the CAN bus. Two modules of the same


type on the same CAN bus can not have the same
address.

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.

PWM frequency [Hz] Frequency for PWM and COUT outputs.


(COUT/PWM)

PWM frequency [Hz] PWM frequency for digital outputs.


(DOUT)

XS2
Expansion module with focus on inputs.

IQANdesign User manual 96


Expansion modules
4 Modules

Properties

Address Address on the CAN bus. Two modules of the same


type on the same CAN bus can not have the same
address.

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.

PWM frequency [Hz] PWM frequency for digital outputs.


(DOUT)

XC10
Expansion module with focus on inputs and digital outputs.

Properties

Address Address on the CAN bus. Two modules of the same


type on the same CAN bus can not have the same
address.

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

Address Address on the CAN bus. Two modules of the same


type on the same CAN bus can not have the same
address.

IQANdesign User manual 97


Expansion modules
4 Modules

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.

IQANdesign User manual 98


J1939 and generic CAN modules
4 Modules

J1939 and generic CAN modules


J1939
External (non-IQAN) expansion module that uses the SAE J1939 protocol,
for example a diesel engine ECU.

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.

Timeout [ms] Enter a timeout value. This is used to detect whether


the module is online or offline. If the master module
does not receive any packet within a timeout interval
from this module, it will be detected as offline.

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.

Timeout [ms] Enter a timeout value. This is used to detect whether


the module is online or offline. If the master module
does not receive any packet within a timeout interval
from this module, it will be detected as offline.

IQANdesign User manual 99


Gateways
4 Modules

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

Enabled Select Yes to enable the modem at all times, or a


channel to enable it based on e.g. a parameter. When
the channel value is True at system startup the modem
is enabled and can connect to the server.

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

Enabled Select No to disable the communication with the


Bluetooth adapter. When disabled, there will be no
supervision of e.g. signal quality or lost contact. It will
also not be visible in the display menu system. The
adapter itself is still operational though and can be used
to communicate with the system. To prevent that, see
next property Enable Bluetooth.

Enable Bluetooth Used to enable the Bluetooth radio in the gateway.

GT
GT (Gateway Telematics) represents a generic Parker IQAN Connect gate-
way supporting IQAN remote diagnostics as well as telematics.

Properties

Enabled Select Yes to enable the gateway at all times, or a


channel to enable it based on e.g. a parameter. When
set to False there is no communication between IQAN
and the gateway.

Source address Enter the J1939 source address for this gateway.

IQANdesign User manual 100


Cameras
4 Modules

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

Master Select the master that uses this camera.

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.

Live indicator When enabled a rotating indicator is shown by the


camera in the corner of the video to indicate that the
feed is live from the camera.

Enable HDR When HDR (high dynamic range) is enabled the


camera is capturing a wider range of light. However
the picture may not look as natural as when using SDR
(standard dynamic range).

Mirror Mirrors the video stream horizontally.

Flip Flips the video stream vertically.

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.

IQANdesign User manual 101


Cameras
4 Modules

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

Master Select the master that uses this camera.

IP address Enter the IP address of the camera or select DHCP to


let the master module assign an IP address
automatically.
Note: The camera IP address should be 192.168.128.x
where x is between 1-255. The camera should be
configured for subnet 255.255.128.0.

User name If a user name is required to access the camera stream it


can be entered here.

Password If a password is required to access the camera stream it


can be entered here.

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.

IQANdesign User manual 102


Module pins
4 Modules

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.

Current out pin


This pin is used to connect current outputs to a module. Bi-directional current
outputs have three pins, one high side and two returns. Uni-directional have
two pins, one high side and one return.

Properties

PWM frequency [Hz] Frequency for this current 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.

PMW out pin


This pin is used to connect PWM outputs to a module. Bi-directional PWM
outputs have three pins, one high side and two returns. Uni-directional have
two pins, one high side and one return. There are also PWM outputs without
return. These have only one high side pin.

Properties

PWM frequency [Hz] Frequency for this PWM output.

PWM under current Enables or disables under current detection for this
detection PWM output.

IQANdesign User manual 103


Module pins
4 Modules

Digital out pin


This pin is used to connect digital outputs to a module. HS+LS digital outputs
have two pins, one high side and one low side. HS only and LS only digital
outputs have one pin, high side pin and low side pin respectively.

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.

IQANdesign User manual 104


Buses
4 Modules

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.

Address claim When enabled, each master module connected to the


J1939 CAN bus will claim their address at startup
according to the J1939-81 standard. No frames are sent
before claim procedure ends. If someone else with
higher prio claims same address, frame transmission
will be disabled.

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.

Identifier size Specify the identifier size, Standard (11 bits) or


Extended (29 bits).

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.

IQANdesign User manual 106


5 Channels

Channels are probably the most important components in an application.


They are used to get input from the machine, do calculations, control the dis-
play and control outputs. There are a number of different channel types, each
one specialized to do a specific task, like the voltage input that can measure
the value from a 5V sensor and scale it to another unit, or the PID channel
that can do PID regulations based on a command and a feedback value.
For some channels you can define a function using Qcode or objects, see
chapter Functions using Qcode and chapter Functions using object list. Other
channels behavior are defined by their properties only.

IQANdesign User manual 107


Adding channels
5 Channels

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.

Replacing a channel with another


In some cases you may want to replace a channel with another. To do that,
right-click on the channel that you want to replace, and select Replace Chan-
nel > [The channel you want to use instead]. The sub menu below Replace
Channel will contain all channels within scope that are compatible with the
selected channel. Compatible channels must have the same value type, and in
the case of state type channels, they must have the same state count.
Once you select a compatible channel in the sub menu, all references in the
entire project to the original channel will be searched and presented in a dia-
log box.

Replace channel dialog.

Select the references you want to replace and click OK.

IQANdesign User manual 108


Adding channels
5 Channels

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.

Adding channels to a module


Some channel types needs to be connected to a module, for example physical
inputs and outputs or module diagnostic channels. To add them to the correct
module you drag them to the module in the project manager and drop them
there. You can drag multiple channels at the same time if they shall be added
to the same module.
It is also possible to create the channel on the module instead of in a function
group. See section Add channels to a module on page 84 to learn how. Such
channels will also be added to the top level function group in the top left cor-
ner. You can move it to another position and/or function group.

IQANdesign User manual 109


Naming channels
5 Channels

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

Right turn Positive


Left turn Negative

Out Positive
In Negative

IQANdesign User manual 110


Value and status
5 Channels

Value and status


A channel has a value and a status. Each channel in this chapter has a section
describing its value, unit, range and type. There is also a table listing all pos-
sible status values. The status values Disabled and OK are excluded from the
lists since all channels can have these statuses.

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.

IQANdesign User manual 111


Value and status
5 Channels

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.

Status values - Info

Status Description Msg Log

Disabled Component disabled. Not evaluated.

Not evaluated Not evaluated due to lazy evaluation.

No status No status.

Status values - OK

Status Description Msg Log

OK Status OK.

Log full (recycling) A log is full but will continue to log new
records by recycling old records.

Status values - Warning

Status Description Msg Log

High temperature Module internal temperature. Temperature • •


limit varies depending on module.

Low supply voltage Module supply voltage. Voltage limit varies • •


depending on module.

High supply voltage Module supply voltage. Voltage limit varies • •


depending on module.

Date and time not set Applies to master modules with real time • •
clock only.

IQANdesign User manual 112


Value and status
5 Channels

Status Description Msg Log

Start block Startup or restart condition not met. At startup •


or after fault has been detected, the channel
will stay in start block state until the startup
condition if fulfilled.

Low alarm Value below low alarm level on input channel. • •


High alarm Value over high alarm level on input channel. • •
Saturated Not able to output commanded current.
Current is above 50% but less than 100% of
commanded value.

Locked Internal status used for locked components,


e.g. adjust items.

Checksum error Checksum calculation error for adjustable/ •


stored value.

Log full (stopped) A log is full and will not record any new
records until emptied.

Warning General warning status

Status values - Error

Status Description Msg Log

Low error Value below low error level on input channel. • •


High error Value over high error level on input channel. • •
Overload Output overloaded. • •
Open load Output is disconnected. Current is less than • •
50% of commanded.

Division by zero Math calculation error, or Min value equals •


Max value on input channels.

Calculation overflow Math calculation. Detected for arithmetic •


operations with value type Real. Not
detectable for arithmetic operations with value
type Integer.

Negative square root Math calculation error when trying to do •


square root on a negative number.

IQANdesign User manual 113


Value and status
5 Channels

Status Description Msg Log

Invalid argument Math calculation. In most cases this status •


comes from an invalid point order in a multi
vector object.

J1939 error J1939 error detected at parameter input •


channel (JPIN).

J1939 not available Parameter (JPIN) not available in J1939


parameter group (JFIN).

Timeout Timeout detected on frame input channel


(JFIN, GFIN or APPIN).

No contact No contact with module. • •


Multiple address Two or more IQAN modules with same • •
address detected on the same CAN bus.

VREF error VREF error detected on IQAN module. Can • •


be caused by VREF+ shorted to ground or bad
sensor connected.

Internal error Internal IQAN module error. The IQAN • •


module has detected an internal hardware
error. When getting this error it is likely
something inside the module is damaged and
the module needs to be replaced.

Critical error IQAN module has detected a safety related • •


error. This could be a hardware or software
related issue inside the module, or it could be
that the module is incorrectly connected.

Pin conflict Invalid channel type connected to module pin.

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.

Address error Invalid address tag on master module. • •

IQANdesign User manual 114


Value and status
5 Channels

Status Description Msg Log

Out of range A parameter or channel value is out of range. •


This can happen if the limits on a channel are
changed so the actual settings in a module are
outside the limits.

Input error Error detected on input channel (used by • •


AAC, DDC and ADC channels).

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.

No SIM card No SIM card in gateway module. •


Address claim error Could not claim J1939 address. Another • •
module has the same J1939 address.

Alien online Found alien modules not belonging to current • •


multi-master system.

System mismatch Mismatch between project ID or revision in a • •


multimaster system.

Invalid log record Invalid record (or section) in log.

Error Generic error.

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.

Module system messages


Master modules with a display can display some system messages in addition
to the listed status messages. These messages are listed in the table below. All
of these messages will have the header “System message” in the dialog.

Severity Message header Text

Error IQAN-Mx Erroneous application

Critical IQAN-Mx No application available

IQANdesign User manual 115


Value and status
5 Channels

Severity Message header Text

Critical IQAN-Mx Safe mode! Application not loaded

Critical Memory overflow Settings memory overflow. Redo application.

Info Menu system locked The menu system is locked by an external


system.

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.

Inherited module status


Channels that are assigned to a module, for example voltage inputs or module
diagnostics, inherit the module’s status in some events. The table below lists
all statuses that are inherited.

Disabled Module is disabled.

No contact Module is offline.

Multiple address error There are more than one module with the same address
on the bus. Only applicable to IQAN expansion
modules.

Critical error VREF or +BAT critical errors.

Propagated object status


Channels that have function, for example math channels or event counters,
gets the status of its objects in some events. The table below lists all statuses
that are propagated from objects to channels.

Division by zero Math calculation.

Calculation overflow Math calculation.


Detected for arithmetic operations with value type
Real. Not detectable for arithmetic operations with
value type Integer.

Negative square root Math calculation.

Invalid argument Math calculation.

IQANdesign User manual 116


Value and status
5 Channels

Channel value is affected in the following ways by propagated object status:


• For Qcode, the calculation is interrupted when an object evaluation result
in error, and remaining statements in the channel are not evaluated.
• For object list, object is set to zero/false, and calculation of object group
and channel continues.

IQANdesign User manual 117


Inputs/Outputs
5 Channels

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.

Voltage in (VIN) and Voltage in, 0 - 32 V (VIN32)


A physical analog input. The voltage input channel is used to measure analog
sensors, for example temperature, pressure, angle, lever position, etc.
The input voltage range is 0 - 5000 mV for the normal voltage input, and 0 -
32000 mV for the voltage input, 0 - 32 V. The signal can be scaled to an
application dependent range.

Scaled max

Scaled min

min max

Scaling of the input signal.

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.

Device type Select a predefined device type to automatically get the


correct limits (on the corresponding adjust item) and
calibration values for that device.

IQANdesign User manual 118


Inputs/Outputs
5 Channels

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.

IQANdesign User manual 119


Inputs/Outputs
5 Channels

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.

Device data for pressure sensor IQAN-SP35.


IQANdesign User manual 120
Inputs/Outputs
5 Channels

To copy devices to another computer or colleague, use the export/import


function. Select all devices that you want to export and click Export. Specify
file name and folder in the save file dialog box that appears.
To import it on another computer, click Import and select the same file. For
each imported device that already exists in the database, you will be asked if
you want overwrite or keep the original.

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

Scaled max Illegal value, low= Min/2

Illegal value, high= ((Vin max- Max)/2)+ Max


Scaled min

Min Max Vin max


Voltage range analog input

Detection of illegal 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

Value Scaled value.

Unit See property Unit.

Range See property Calibration.

IQANdesign User manual 121


Inputs/Outputs
5 Channels

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.

Division by zero Min equals max.

Out of range Settings are not within limits.

VREF error There is an error detected on the VREF this channel is


connected to.

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

Scaling of the input signal.

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.

IQANdesign User manual 122


Inputs/Outputs
5 Channels

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

Value Scaled value.


IQANdesign User manual 123
Inputs/Outputs
5 Channels

Unit See property Unit.

Range See property Calibration.

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.

Division by zero Min equals max.

Out of range Settings are not within limits.

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

Scaling of the input signal.

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.

IQANdesign User manual 124


Inputs/Outputs
5 Channels

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

Value Scaled value.

Unit See property Unit.

Range See property Calibration.

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.

Division by zero Min equals max.

Out of range Settings are not within limits.

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

Value Boolean value.

Unit n/a

Range False (= 0) or True (= 1)

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.

IQANdesign User manual 126


Inputs/Outputs
5 Channels

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.

Disable Select a channel to disable the channel. When the


disable channel’s value is True, the value of this
channel is set to zero, and will stay zero as long as the
disable is True.

Max Enter raw sensor value when sensor is in its maximum


speed.

Scaled max Enter the scaled value of the sensor’s maximum value.
Examples: 785 cm, 2350 RPM, etc.

Fast response With fast response all frequencies below 20 Hz will be


detected as zero.
Behavior is module dependant, some modules may
have a different function. Please see module
documentation for more information.

Alarms See Alarm properties for Voltage in, page 118.

Fast response
There is a faster method of detecting zero frequency, but at a sacrifice of low
frequencies.

Actual frequency 0 Hz Delay before 0 Hz


e.g., locked brake is detected

With fast response Without fast response

With and without fast response.

This method has only an uncertainty of one sample time when a zero fre-
quency is detected.

IQANdesign User manual 127


Inputs/Outputs
5 Channels

Value

Value Scaled value.

Unit See property Unit.

Range 7 significant digits

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.

Frequency in, directional (DFIN)


A physical analog input. The directional frequency input channel is used to
measure frequency. It is bidirectional, which means it can measure frequency
clockwise/counter-clockwise.
Typically it is used to measure speed, revolutions (frequency) including
direction.

Properties
Same properties as a frequency input channel with one addition.

Sensor type Select sensor type. Quadrature is a sensor with two


phase-shifted frequency signals. Frequency/Direction
is a sensor with one frequency signal and a digital
signal for the direction.

Value

Value Scaled value.

Unit See property Unit.

Range 7 significant digits

Type Real

If you need the raw value instead, use calibrations Max = 1000 and Scaled
max = 1000.

IQANdesign User manual 128


Inputs/Outputs
5 Channels

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.

Pulse count (PCNT)


A physical analog input. The pulse count input channel is used to count
pulses on an input.
Typically it is used to measure a distance.

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.

Accumulate Select whether pulses are accumulated or not. When


accumulated, the channel's value represents the number
of pulses counted since system power-on or last reset.
When not, the channel's value represents the number of
pulses counted during the last cycle only.

Store value The value is stored in non-volatile memory so that it is


preserved during power off.
Will also make it possible to use this channel in an
adjust group.

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.

Reset value When reset by its resetting channel 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. Enter scaled value, not raw 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.

Max Enter raw sensor value when sensor is in its maximum


speed or position.

Scaled max Enter the scaled value of the sensor’s maximum value.
Examples: 785 cm, 2350 RPM, etc.

IQANdesign User manual 129


Inputs/Outputs
5 Channels

Alarms See Alarm properties for Voltage in, page 118.

Value

Value Scaled value.

Unit See property Unit.

Range 7 significant digits

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.

Pulse count, directional (DPCNT)


A physical analog input. The directional pulse count input channel is used to
count pulses. It is bi-directional, witch means it can add and subtract pulses.
Typically it is used to measure a position.

Properties
Same properties as a pulse input channel with one addition.

Sensor type Select sensor type. Quadrature is a sensor with two


phase-shifted frequency signals. Frequency/Direction
is a sensor with one frequency signal and a digital
signal for the direction.

Value

Value Scaled value.

Unit See property Unit.

Range 7 significant digits

Type Real

If you need the raw value instead, use calibrations Max = 1000 and Scaled
max = 1000.

IQANdesign User manual 130


Inputs/Outputs
5 Channels

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.

Directional analog (DAC)


These channels are found on IQAN lever modules. There is one channel for
each direction X, Y and Z. The value range for each direction is -100% to
100%. Middle position corresponds to 0%.
This channel has no other properties besides name and description.

Value

Value Scaled value.

Unit %

Range -100% to 100%, 0% equals center position

Type Real

Status

Inherited module status See section Inherited module status on page 116.

Current out (COUT)


A physical analog output. The current output channel is primarily used to
control proportional valves.

Properties

Bidirectional Select Yes to make this output bidirectional. No means


it is unidirectional, that is, it can only have a positive
value. If you only need the positive direction, for
example when controlling a motor, set property
Bidirectional to No. In this way you avoid unnecessary
errors, such as output high, output low, if you don’t
have a load connected to the negative output. Also, the
negative direction will not appear in the adjust menu,
when you adjust this channel.

IQANdesign User manual 131


Inputs/Outputs
5 Channels

BWL Band Width Limiting. This function will decrease the


frequency bandwidth of the output signal whenever the
change of the output signal is smaller than BWL
window. The bandwidth limit will decrease linearly
with smaller changes. When the change of the signal is
zero, the bandwidth will also be zero. When the signal
change is larger than the window, no bandwidth
limitation will be used. BWL filtering is a dynamic
filter meant for "nervous" signals where you still want
rapid action for larger signal changes, such as joystick
control for a crane function.

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.

Mode selector Select a state channel to use as mode selector. One


mode for each state will be added to this channel. A
mode is a set of properties. The mode to be used is
decided by the value of the state channel.

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.

IQANdesign User manual 132


Inputs/Outputs
5 Channels

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

Start Stop t [ms]


slope slope

Current and slope times.

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.

Error detection and restart behavior


In case an error is detected, the current output gets a corresponding error sta-
tus and the channel value become 0. The restart behavior is to remain in error
state until the input is 0 and the error is no longer detected. Some modules
have a property for configuring a different restart behavior. Error detection
differs between module types, see separate product documentation.

IQANdesign User manual 133


Inputs/Outputs
5 Channels

Value

Value Calculated current.

Unit mA

Range Dependent on mode and current settings.

Type Integer

Status

Open load Output is disconnected. Current is less than 50% of


commanded.

Overload Output overloaded.

Saturated Not able to output commanded current. Current is 50-


100% of commanded.

Start block Input not zeroed after min current adjust.

Out of range Settings are not within limits.

Inherited module status See section Inherited module status on page 116.

PWM out (PWM)


A physical analog output. The PWM output channel is primarily used to
control Parker Pulsar® valves.
The properties for a PWM output are the same as for a current output. The
difference is the output value, PWM uses modulation ratio in [%], COUT
uses [mA].

PWM output characteristic


The output values are defined as pulse width modulation ratio, called MR.
To get the perfect output characteristic you have to enter the proper MR and
slope time values for each channel.

% Function value
MR max

MR min
time
Resulting output signal

MR min MR max time

The PWM output values.

IQANdesign User manual 134


Inputs/Outputs
5 Channels

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

Value Calculated modulation ratio.

Unit %

Range Dependent on mode and settings.

Type Integer

Status

Open load Output is disconnected. Actual value is less than 50%


of commanded.

Overload Output overloaded.

Out of range Settings are not within limits.

Start block Input not zeroed after min MR adjust.

Inherited module status See section Inherited module status on page 116.

Digital out (DOUT)


A physical digital output. The digital output channel is primarily used to
control lamps, on/off valves or relays.

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.

IQANdesign User manual 135


Inputs/Outputs
5 Channels

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

Debounce filter for a digital out.

Error detection and restart behavior


In case an error is detected, the digital output gets a corresponding error status
and the channel value become False. The restart behavior is to remain in error
state until the input is False and the error is no longer detected. Some mod-
ules have a property for configuring a different restart behavior.

IQANdesign User manual 136


Inputs/Outputs
5 Channels

Error detection differs between module types and pin configuration, see sec-
tion Module pins on page 103 and separate product documentation.

Value

Value Boolean value.

Unit n/a

Range False (= 0) or True (= 1)

Type Boolean

Status

Open load Output is disconnected.

Overload Output is overloaded.

Inherited module status See section Inherited module status on page 116.

IQANdesign User manual 137


Calculation channels
5 Channels

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.

Mathematical channels (MAC, DMAC and IMAC)


There are three types of channels that are primarily used to perform mathe-
matical calculations:
• Math (MAC)
• Dual direction math (DMAC)
• Integer math (IMAC)
The math and dual direction math channel types are identical, except for their
limiting object group functionality. Dual direction math has two limiting
object groups, one for the positive direction and one for the negative. For
functions where you need different limitations depending on direction, such
as crane end damping, use a dual direction math channel. Otherwise, use the
simpler math channel.
The integer math channel differs in that the resulting value is an integer
instead of a real.

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.

IQANdesign User manual 138


Calculation channels
5 Channels

Function selector Select a state channel to use as function selector. One


function for each state will be added to this channel.
The active function is then decided by the value of the
state channel.

Object list function


With a dual direction math channel you can create complex functions in both
negative and positive direction. If you just want to create simple functions or
complex functions in only the positive direction, a math channel is preferable
and most common.
The math channel uses a controlling and a limiting object group.
The dual direction math channel uses a controlling and two limiting object
groups, one for the positive direction and one for the negative direction. The
positive limiting object group is used when the result from the controlling
object group is positive, and vice versa.
The integer math works identical to the math channel internally but rounds
the result to the nearest integer.

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.

Value (MAC and DMAC)

Value Calculated function value.

Unit See property Unit.

Range 7 significant digits

Type Real

Value (IMAC)

Value Calculated function value.

Unit See property Unit.

Range ±2×109
Type Integer

IQANdesign User manual 139


Calculation channels
5 Channels

Status

Object errors See section Propagated object status on page 116.

Internal digital (IDC)


The internal digital channel is primarily used to perform calculations where
the result is either True or False. An internal digital channel has both delay
and toggle functionality.

Properties

Toggle Select Yes to make this channel toggling, that is, it


changes output value each time the function changes
from False to True.

Activating object group

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.

Function selector Select a state channel to use as function selector. One


function for each state will be added to this channel.
The active function is then decided by the value of the
state channel.

< on
< off Function value

off
Channel value
on

t
The channel value will not be affected if the input signal is to short.

IQANdesign User manual 140


Calculation channels
5 Channels

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.

Object list function


An internal digital channel uses one activating and one blocking object group.
The blocking object group has higher priority than the activating group.

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

Value Calculated function value.

Unit n/a

Range False (= 0) or True (= 1)

Type Boolean

Status

Object errors See section Propagated object status on page 116.

PID regulator (PID)


The PID regulator is used to do closed loop control, for example a straight-lift
function for a crane.

Properties

Command channel Select the channel representing the command value.

Feedback channel Select the channel representing the feedback value.

P regulator Proportional regulation constant.

I regulator Integrating regulation constant. Unit is [gain/s].

D regulator Derivative regulation constant.

IQANdesign User manual 141


Calculation channels
5 Channels

Enable Select the channel which will activate the regulation.


The regulator is active when the channel value is True.
If you select Yes, the regulator function will always be
active.
When disabled, the integrating part is reset to 0 and
channel value is set to 0.

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.

Command value + Control error Control value


Regulator Controlled object
-

Feedback value

Block diagram over a closed loop control.

Command and Feedback values


The command value is the reference value that the regulator tries to follow.
The feedback value is the actual value measured at the controlled object and
is used as a feedback signal.
The control value is the output value from this channel. The purpose of that
value is to run the controlled object, for example wheel-steering or straight
lift, in the “correct direction” and thus reduce the control error.
Control error Δ = Command value - Feedback value

There is no such thing as a perfect regulator. It is necessary to compromise


between the accuracy and stability. There is a risk that a system will experi-
ence self-induced oscillation. With this in mind, you must select the correct
type of regulation.

Different types of regulation


There are three ways of regulate so that the actual value follows the command
value with the least control error possible.

IQANdesign User manual 142


Calculation channels
5 Channels

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.

IQANdesign User manual 143


Calculation channels
5 Channels

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

Command value + Control error Control value


PI Regulator Telescope
-

Feedback value = COG

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.

UT = Dx(ΔT – Δ(T – 1))

IQANdesign User manual 144


Calculation channels
5 Channels

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

Value Calculated control value, see above.

Unit %

Range Unipolar: 0% to 100%


Bipolar: -100% to 100%

Type Real

Status

Out of range Invalid P or I regulator constant (less than 0).

Integrating limiting (ILC)


The integrating limiting channel is typically used for power regulation or max
regulation, that is, to control the power or vehicle speed so that it does not
exceed its limits.
The functionality of this channel could be compared to a PID regulator that
only uses the I-part, and where the I-part varies depending on the value of the
input channel. The ILC will then be used as a limiting object in a function.

IQANdesign User manual 145


Calculation channels
5 Channels

S
Y2

Y1

E E

Integrating limiting function.

Properties

Output Specify Normal or Inverted regulation.

Enable Select the channel which will activate the regulation.


The regulator is active when the channel value is True.
If you select Yes, the regulator function will always be
active.
When disabled, the integrating part is reset to 0 and
channel value is set to 100.

Input channel Select an input channel for the regulation.

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.

IQANdesign User manual 146


Calculation channels
5 Channels

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

Value Calculated control value, see above.

Unit %

Range 0% to 100%

Type Real

Status
No further status values except the standard statuses; Disabled and OK.

Event counter (ECNT)


This channel is used to count events, for example how many times a specified
condition has been fulfilled. You can increase, decrease or reset the channel
value. The resetting objects have the highest priority. The event counter
channel counts on rising edge, every time a condition becomes true.

IQANdesign User manual 147


Calculation channels
5 Channels

Properties

Store value The value is stored in non-volatile memory so that it is


preserved during power off.
Will also make it possible to use this channel in an
adjust group.

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.

Function selector Select a state channel to use as function selector. One


function for each state will be added to this channel.
The active function is then decided by the value of the
state channel.

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.

Object list function


An event counter has increasing, decreasing and resetting object groups. The
resetting object group has the highest priority. The counter is incremented (or
decremented) when the increasing (or decreasing) object group switches from
False to True. This is valid also when an object group turns True because of a
state change.
When the resetting object group switches from False to True, the channel
value is reset to the value defined by property Reset value. As long as the
resetting object group is True, the counter is not affected by the increasing or
decreasing object group.

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.

IQANdesign User manual 148


Calculation channels
5 Channels

T1, T2 > two times cycle time

T1 T2
Increasing object group’s value

t
Decreasing object group’s value

Resetting object group’s value


t

Counter’s output value

Increasing, decreasing and resetting the event counter’s output value.

Value

Value Accumulated counter value.

Unit n/a

Range ±2×109
Type Integer

Status

Calculation overflow Value not within valid range, see above.

Checksum error Checksum calculation error on stored value.

Object errors See section Propagated object status on page 116.

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.

IQANdesign User manual 149


Calculation channels
5 Channels

Action This property is only applicable when using object list


function. Specify what action you want when a
memorize is triggered, that is, when the function value
for this channel changes from False to True.
Select Replace to replace the memorized value with the
input channel’s value.
Select Add to add the input channel’s value to the
memorized value.
Select Subtract to subtract the input channel’s value
from the memorized value.

Store value The value is stored in non-volatile memory so that it is


preserved during power off.
Will also make it possible to use this channel in an
adjust group.

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.

Function selector Select a state channel to use as function selector. One


function for each state will be added to this channel.
The active function is then decided by the value of the
state channel.

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.

Object list function


A memorizing channel uses two object groups: activating and resetting. The
resetting object group has the highest priority. The channel value is updated
using the selected Action when the activating object group switches from
False to True. This is valid also when the object group turns True because of a
state change.
When the resetting object group switches from False to True, the channel
value is reset to the value defined by property Reset value. As long as the
resetting object group is True, the channel is not affected by the activating
object group.

IQANdesign User manual 150


Calculation channels
5 Channels

NOTE
The Memorizing channel “memorizes” on rising edge, that is, when the value
switches from False to True.

Activating object group’s value

T1 T2 t

Resetting object group’s value

t
Input channel’s value

Channel’s output value

Memorizing channel with Action set to Add.

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

Value Memorized value.

Unit Same as input channel.

Range 7 significant digits


Limited range ±2×109 when using Add or Subtract.

Type Same as input channel

Status

Calculation overflow Invalid result when using action Add or Subtract,


(-2×109 > Result > 2×109).

Checksum error Checksum calculation error on stored value.

IQANdesign User manual 151


Calculation channels
5 Channels

Object errors See section Propagated object status on page 116.

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.

Array size The number of elements in the array.

Store value The values are stored in non-volatile memory so that


they are preserved during power off.

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.

Object errors See section Propagated object status on page 116.

IQANdesign User manual 152


Calculation channels
5 Channels

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.

Enable Select the channel which will activate the filtering. If


this channel’s value is False, the output value equals
the value of the input channel, that is, it is not filtered at
all. If you select Yes, the filtering will always be active.

Type Select type Slopes, BWL, Filter or Moving average.

Slopes Enter start and stop slope values, for positive and
negative direction, in [unit]/s.

BWL Band Width Limiting. This function will decrease the


frequency bandwidth of the output signal whenever the
change of the output signal is smaller than BWL
window. The bandwidth limit will decrease linearly
with smaller changes. When the change of the signal is
zero, the bandwidth will also be zero. When the signal
change is larger than the window, no bandwidth
limitation will be used. BWL filtering is a dynamic
filter meant for "nervous" signals where you still want
rapid action for larger signal changes, such as joystick
control for a crane function.

Filter Specify a filter value for this channel. 0 equals no filter


effect at all, and 100 equals maximum filter effect.

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.

IQANdesign User manual 153


Calculation channels
5 Channels

Value [Unit] Input

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%

0 0.1 0.2 0.3 0.4 0.5 Time [s]

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

Filter value as a function of input signal change.

IQANdesign User manual 154


Calculation channels
5 Channels

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

Value Filtered value.

Unit Same as input channel.

Range Same as input channel.

Type Real

Status

Calculation overflow Calculation result too large.

Out of range Invalid slope time (negative) or 0 > Filter > 100. Only
applicable when these properties are controlled by a
channel.

Butterworth filter (BWF)


The Butterworth filter channel is used to apply a low pass, high pass, band
pass or band stop filter to another channel.

Properties

Input channel Select the input channel that you want to apply a
Butterworth filter to.

IQANdesign User manual 155


Calculation channels
5 Channels

Enable Select a channel to enable/disable filtering at run-time.


If the channel’s value is False, the output value equals
the value of the input channel, that is, it is not filtered at
all. The filter is still calculated in the background,
when enabled again the filtered value will be used.
If you select Yes, the filtering will always be active.

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

Value Filtered value.

Unit Same as input channel.

Range Same as input channel.

Type Real

Status

Calculation overflow Calculation result too large.

Out of range Invalid cutoff frequency.

IQANdesign User manual 156


Calculation channels
5 Channels

Lookup table (LTC)


The lookup table channel provides a two dimensional array with a row and
column selector channels to select the channel output value. If the row and/or
column selector does not match a specific row/column the output value will
be interpolated or selected from the closest cell depending on configuration.

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.

Column selector The column selector is used to select which column


that the channel's value shall be taken from. This may
be a channel or a constant value.

Interpolation This property defines the behavior of the channel when


the row and/or column selector does not match a row/
column index value of the table.
When interpolation is enabled the channel value will be
determined by using bilinear interpolation, otherwise
the closest defined value will be used.

Lookup table A two dimensional array of values defining row and


column indices as well as output values of the channel.
The values are edited using a special dialog (see
below).

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.

IQANdesign User manual 157


Calculation channels
5 Channels

Lookup table editor dialog.

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.

IQANdesign User manual 158


Calculation channels
5 Channels

Value

Value Calculated value.

Unit See property Unit.

Range 7 significant digits

Type Real

Status

Calculation overflow Calculation result too large.

Out of range Row or column input value is outside the range defined
by row or column index.

IQANdesign User manual 159


Parameters
5 Channels

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.

Function parameter (FP)


The function parameter channel is used as an adjustable constant in functions,
for example max speed, pressure limit, etc. You can adjust the function
parameter value via a display module or IQANrun.
When you develop an application for a machine, you often need to change or
adapt a lot of values during a test. For example, you may need to adapt the
PID parameters during tuning of the control loop or perhaps change the limit
values for an object. For this you can use function parameters.
Another example of when it is a good idea to use function parameters is when
several functions or objects refer to the same parameter, for example a max or
min limit. Then you only have to change the value in one place and the values
will automatically be updated wherever you have used the function
parameter.

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.

Mode selector Select a state channel to use as mode selector. One


mode for each state will be added to this channel. A
mode is a set of properties. The mode to be used is
decided by the value of the state channel.

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.

Default value The channel’s value for this mode.


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.

IQANdesign User manual 160


Parameters
5 Channels

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

Value Fixed value, or value set by user if adjustable.

Unit See property Unit.

Range 7 significant digits or as defined by the adjust item.

Type Real

Status

Out of range Adjustable value not within limits.

Checksum error Checksum calculation error on adjustable value.

Integer parameter (IP)


The integer parameter works the same way as the function parameter.
The only difference is that the value type is an integer.

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

Value Fixed value, or value set by user if adjustable.

Unit See property Unit.

IQANdesign User manual 161


Parameters
5 Channels

Range ±2×109 or as defined by the adjust item.


Type Integer (or Hexadecimal number)

Status

Out of range Adjustable value not within limits.

Checksum error Checksum calculation error on adjustable value.

Digital parameter (DP)


The digital parameter channel is used as adjustable constants in functions, for
example to turn options on or off, etc. You can adjust the digital parameter
value via a display module or IQANrun.

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”.

Mode selector Select a state channel to use as mode selector. One


mode for each state will be added to this channel. A
mode is a set of properties. The mode to be used is
decided by the value of the state channel.

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.

Default value The channel’s value for this mode.


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.

Adjust
By adding this channel to an adjust group, it is possible to adjust its value via
a display module or IQANrun.

IQANdesign User manual 162


Parameters
5 Channels

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

Range False (= 0) or True (= 1)

Type Boolean

Status

Out of range Adjustable value not within limits.

Checksum error Checksum calculation error on adjustable value.

State parameter (SP)


State parameter is an adjustable state machine, which means the user can con-
trol the active state by setting the value of this channel.
The states can be selected from the adjust menu in the master or controlled by
another channel, for example an event counter or a math channel.

Properties

Input channel Select a channel to control the active state, or select


None and add this channel to an adjust group to control
the state manually via a display module or IQANrun.

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.

State 1, 2, etc. Enter a descriptive name for each state.

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.

IQANdesign User manual 163


Parameters
5 Channels

When states are renamed or rearranged, all components using that state
parameter will be updated with the new state names or order.

Value

Value Active state controlled by input channel, or state


selected by user if adjustable.

Unit n/a

Range One of the available states.

Type State

Status

Out of range Input value is outside the range defined by the states.

Checksum error Checksum calculation error on stored value.

Text parameter (TP)


The text parameter channel has adjustable text, which means the text can be
changed by the user from a display module or IQANrun. A text parameter can
have multiple texts. The active text is then selected with a state channel.

Properties

Mode selector Select a state channel to use as mode selector. One


mode for each state will be added to this channel. A
mode is a set of properties. The mode to be used is
decided by the value of the state channel.

Text The default text.

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

Value Fixed text, or text set by user if adjustable.

Unit n/a

Range 0 - 100 characters (or limited by adjust item)

Type Text

IQANdesign User manual 164


Parameters
5 Channels

Status
No further status values except the standard statuses; Disabled and OK.

IQANdesign User manual 165


Miscellaneous channels
5 Channels

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.

State machine (SMC)


The state machine channel is used to select the active state for a multi-state
component, for example active mode for a current output, or active function
for a math channel. You can add as many states as you like to your state
machine. Each state has its own function to decide which state should be
active. The first state with function value = True, becomes the active state.

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).

Object list function


Each function is calculated using one activating and one blocking object
group.
When an activating object group for a state’s function is latched (by using one
of the latching object group methods), it can be released by either the block-
ing object group in the same function or a preceding state’s function going
true.

IQANdesign User manual 166


Miscellaneous channels
5 Channels

Qcode function
When using Qcode the value of each function is defined by assigning a value
to the Result variable.

Value

Value Calculated state, see above.

Unit n/a

Range One of the available states.

Type State

Status

Object errors See section Propagated object status on page 116.

Finite state machine (FSM)


The finite state machine channel is used to select the active state for a multi-
state component, for example active mode for a current output, or active
function for a math channel. In contrast to the SMC this channel uses a tradi-
tional state machine with states and transitions. The states and transitions are
edited in the state machine editor. Double click on the channel to enter the
state machine editor.

Properties

Store value The current state is stored in non-volatile memory so


that it is preserved during power off.

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).

IQANdesign User manual 167


Miscellaneous channels
5 Channels

The state machine editor.

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

Value Calculated state, see above.

Unit n/a

Range One of the available states.

Type State

IQANdesign User manual 168


Miscellaneous channels
5 Channels

Status

Object errors See section Propagated object status on page 116.

Module diagnostics (MDGN)


The module diagnostic channel is used to measure different module related
values, such as Supply voltage, Temperature and Module status. Different
modules have different diagnostic values that can be measured. To assign a
module diagnostic channel to a module, drag it to the module in the project
manager or create it directly in the module view by right-clicking on one of
the module diagnostic “pins” and select Add channel. To change the value
that is measured just move the channel to the corresponding “pin” in the mod-
ule view.
This channel can be used as an input to another channel or object.

Diagnostic values

Module status Current status of module, for example 64 = “OK” or


203 = “No contact”. See module status value table
below.
Range: 0 - 255
Type: Integer

S/N Module serial number.


Type: Text

Temperature [°C] The module’s internal temperature, for example 45.70


°C.
Type: Real

+BAT [V] The module’s supply voltage, for example 28.45 V.


Type: Real

VREF [V] The module’s reference voltage, for example 5.00 V.


Type: Real

Address The module’s ID tag value (CAN address), 0 or higher.


(-1 = Unknown address).
Range: -1 - 7
Type: Integer

Network state The current status of modem, for example 3="Offline"


on the G2 modem.
Se network state values table blow.
Type: Integer

IQANdesign User manual 169


Miscellaneous channels
5 Channels

Signal quality Modem signal quality in %.


Type: Integer

Malfunction/Red stop/ J1939 lamp indicator, False=Off and True=On. Only


Amber warning/Protect applicable to J1939 modules.
Type: Boolean

Module status values

0 Not evaluated

64 OK

128 High temperature

129 Low supply voltage

130 High supply voltage

131 RTC not connected

203 No contact

204 Multiple address

205 VREF error

Network state values

Value G2 modem

0 Unknown

1 Initializing

2 Searching

3 Offline

4 Online

5 Connected

Value

Value Value is set to diagnostic value from actual module.

Unit See table Diagnostic values above.

Range See table Diagnostic values above.

Type See table Diagnostic values above.

IQANdesign User manual 170


Miscellaneous channels
5 Channels

Status
Depends on which value is measured.

High temperature Measured value is Temperature [°C].

Low supply voltage Measured value is +BAT [V].

High supply voltage Measured value is +BAT [V].

Multiple address Measured value is Address.

Address error Measured value is Address.

VREF error Measured value is VREF [V].

Inherited module status See section Inherited module status on page 116.

System information (SIC)


The system information channel is used to read system related values, such as
weekday, machine ID and logged in user. There is only one property, Value,
which specifies the value this channel will represent.

Value constants

Project name The name of this project.


Type: Text

Project version The version for this project.


Type: Text

Project ID The ID for this project. The ID is used to relate a


project file with other files, such as logs, machine
settings, measurements, etc.
Type: Text

Project checksum The checksum for this project. It is used to identify a


unique version of the project file and to verify that all
masters in a system originates from the exact same
project.
Type: Text

IQANdesign User manual 171


Miscellaneous channels
5 Channels

Multi-master state Current multi-master state. See section Erroneous or


incomplete systems on page 414 for more information.
0 = Init
1 = Stopped
2 = Single Master
3 = Limited
4 = OK
When the multi-master state is Stopped, the channel’s
status will be Internal error.
Type: Integer

Active error level 0 = No active errors or alarms.


1 = There are one or more alarms active (not
acknowledged)
2 = There are one or more errors active (not
acknowledged)
Type: Integer

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

IQANdesign User manual 172


Miscellaneous channels
5 Channels

Memory utilization Measures utilization of the internal RAM memory, that


[KBytes] is, how much space is occupied. If this value is close to
or above the actual RAM size of the master module,
you need to decrease the size of your application by
removing some components.
Actual RAM size can be found in the master module's
data sheet.
Estimated memory utilization can be displayed at
design time in IQANdesign with the help of application
statistics.
Type: Real

Log queue [%] Measures the number of outstanding log requests in


relation to maximum queue size. A high value
indicates that log events might be delayed or missed
due to high cycle utilization or too many log events.
Type: Integer

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

Active messages True if there are any messages displayed (conditional,


interactive or system).
Type: Boolean

Menu system open True if the menu system is currently open.


Type: Boolean

Software version The software version used in this master module.


Type: Integer + Text (Example: 5.01.27 in text equals
50127 in integer)

Weekday 1 = Monday and 7 = Sunday (ISO 8601-compliant).


Type: Integer

Date Today’s date. Example: 2004-08-27. When used as a


numerical value in a function or property, its value is
the number of days that have passed since 1899-12-30.
See also property Date format on Display pages.
For modules without realtime clock, e.g. IQAN-MC3,
this is number of times the module has been started.
Type: Integer

IQANdesign User manual 173


Miscellaneous channels
5 Channels

Time The actual time. Example: 18:15:00 (a quarter past


six). When used as a numerical value in a function or
property, its value is hours elapsed since midnight, for
example 18.25.
See also property Time format on Display pages.
For modules without realtime clock, e.g. IQAN-MC3,
this is the time since last system start.
Type: Real

Selected language 0 = default language selected, 1 = first language


selected, etc.
Type: Integer

Machine ID Unique ID for each machine, usually set in production.


Type: Text

IQANconnect key IQANconnect key for connecting to the machine using


the IQANconnect service. A key is assigned to each
machine by the IQANconnect service. This key is then
used in IQANrun/IQANdesign to connect to a machine
remotely.
Type: Text

User name The name of the currently logged in user.


Type: Text

Access level The access level of the currently logged in user.


Type: Integer

User tag The tag of the currently logged in user.


Type: Integer

Value

Value Value is set to selected diagnostic value from system.

Unit See table Value constants above.

Range See table Value constants above.

Type See table Value constants above.

Status

High alarm Used for values Cycle utilization and Memory


utilization.

High error Used for value Cycle utilization.

IQANdesign User manual 174


Miscellaneous channels
5 Channels

Internal error Used for value Multi-master state.

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

Type (Unit) Select the resolution of your timer, Milliseconds,


Seconds, Minutes or Hours.

Store value The value is stored in non-volatile memory so that it is


preserved during power off.
Will also make it possible to use this channel in an
adjust group.

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.

Function selector Select a state channel to use as function selector. One


function for each state will be added to this channel.
The active function is then decided by the value of the
state channel.

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.

Object list function


A timer uses increasing, decreasing and resetting object groups. The resetting
object group has the highest priority and the decreasing object group has
higher priority then the increasing object group.

IQANdesign User manual 175


Miscellaneous channels
5 Channels

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

Value Elapsed time.

Unit See property Type (Unit).

Range 7 significant digits


Milliseconds: 0 - 2×109
Seconds: 0 - 2×106
Minutes: 0 - 33 333 333
Hours: 0 - 555 555,6

Type Real

Status

Calculation overflow Calculation result too large.

Checksum error Checksum calculation error on stored value.

Object errors See section Propagated object status on page 116.

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.

IQANdesign User manual 176


Miscellaneous channels
5 Channels

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 numbers To allow access from only some specified phone


numbers, add them here. An incoming message is
handled if its phone number matches one of the
numbers specified. If none are specified, any phone
number has access.

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.

IQANdesign User manual 177


Miscellaneous channels
5 Channels

Store value The value is stored in non-volatile memory so that it is


preserved during power off.
Will also make it possible to use this channel in an
adjust group.

Min Minimum value allowed for this channel value.

Max Maximum value allowed for this channel value.

Default value The default value for this channel.

Reply A reply is sent back to the sender when message has


been handled. Enter a text or select a channel to use as
reply text. If you don’t want a reply to be sent, select
Not used. Select Default to send a default
acknowledgement.

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

Real Integer Digital pulse Text

Value Value is set from incoming SMS that matches the Identification tag.

Unit See property See property n/a n/a


Unit Unit

Range See properties See properties False (= 0) and 31 characters,


Min and Max Min and Max True (= 1) see property
Max

Type Real Integer Boolean Text

Status
No further status values except the standard statuses; Disabled and OK.

SMS out (SMSOUT)


The SMS output channel is used to send messages via SMS (Short Message
Service) to external systems/GSM phones. Make sure the GSM modem is
enabled and operational if you are using this channel.

IQANdesign User manual 178


Miscellaneous channels
5 Channels

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 selector Select a state channel to use as function selector. One


function for each state will be added to this channel.
The active function is then decided by the value of the
state 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.

Object list function


This channel uses one activating and one blocking object group. The blocking
object group has the highest priority.

Qcode function
The function value is defined by assigning a digital value to the Result vari-
able.

Value

Value Sending message, see above.

Unit n/a

Range False (= 0) or True (= 1)

Type Boolean

Status

Object errors See section Propagated object status on page 116.

IQANdesign User manual 179


User interface channels
5 Channels

User interface channels


The channels in this chapter are used to present information and to interact
with the operator or other personnel.
There are channels for showing different types of messages on a display mod-
ule. Some messages are interactive and the action depends on how the opera-
tor interacts, acknowledging the messages.

Text formatting channel (TFC)


The text formatting channel is used to create a formatted text that can be sent
as SMS, logged or presented on the display.

Properties

Delimiter Enter a text here to use as delimiter between each text


added below, see property Texts.
Example: Text 1 is “Red”, Text 2 is “Green” and Text 3
is “Blue”. If delimiter is “, ” (a comma and a space),
this channel’s value will be “Red, Green, Blue”.

Texts The texts added here are all concatenated to produce


this channel’s value.
Example: Text 1 is “Temp = ” and Text 2 is the value of
a voltage input measuring temperature. This channel’s
value will then be “Temp = 20.3”.

Text Enter a text or select a channel. If you select a channel


you also need to specify what information to show, see
property Show.

Show Specify what type of information to show. You can


select Value, Name, Unit or Name and unit. Example:
Channel is named “Temperature” with unit “°C” and
value 25.2. Name and unit will show “Temperature
[°C]”, Value will show “25.2”, etc.

Number of decimals Specify how many decimals you want.

Value

Value Formatted text.

Unit n/a

Range 30 characters

Type Text

IQANdesign User manual 180


User interface channels
5 Channels

Status
No further status values except the standard statuses; Disabled and OK.

Conditional message (CMSG)


The conditional message channel is used to show a dialog box on display
modules in different situations, for example a warning indicating overload.
The dialog box is displayed in a window on top of the normal display pages.
The dialog box window is smaller than the total screen size, as opposed to a
display page which always fills the entire screen. This means that the under-
lying display page will be visible around the dialog box. All display page but-
tons will be disabled though, and instead used for controlling the dialog box
as long as it is visible.

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.

IQANdesign User manual 181


User interface channels
5 Channels

Properties

Show message Select whether this message shall be shown on all


display modules in the system, All, or only its own
master’s display, Own.
The option Own implies that this channel belongs to a
master module with a display.
Note: This property has no function in systems with
only one display module.

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.

Channel Select a channel that you want displayed together with


your message. Channel name and value will be shown.

Help A descriptive help text shown to the operator. On MD3,


the operator can read this text by pressing the help
button. You can also select a text channel to use its
value as help text.

Function selector Select a state channel to use as function selector. One


function for each state will be added to this channel.
The active function is then decided by the value of the
state channel.

Object list function


The conditional message channel has two object groups. One for showing the
dialog box and one for hiding it.
The hiding object group has higher priority than the showing object group.
The dialog box is shown when the showing object group turns True. It will be
visible until the user acknowledges it by pressing OK, or until the hiding
object group turns True.

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

Value Function value. When the showing object group goes


True the channel value is set to 1 (Active). When the
hiding object group goes True the channel value is set
to 0 (Inactive).

Unit n/a

Range False (= 0) or True (= 1)

Type Boolean

Status

Object errors See section Propagated object status on page 116.

Interactive message (IMSG)


The interactive message channel is used to interact with the driver. It is
similar to the conditional message channel (CMSG).
The interactive dialog box is displayed in a window on top of the normal dis-
play pages. See section Conditional message (CMSG) on page 181 for more
information.
The channel’s value can be Active or Inactive, but also Left, Center or Right
depending on which button the driver pressed to acknowledge the message.

IQANdesign User manual 183


User interface channels
5 Channels

Properties

Show message Select whether this message shall be shown on all


display modules in the system, All, or only its own
master’s display, Own.
The option Own implies that this channel belongs to a
master module with a display.
Note: This property has no function in systems with
only one display module.

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.

Help A descriptive help text shown to the operator. On MD3,


the operator can read this text by pressing the help
button. You can also select a text channel to use its
value as help text.
Note: If you specify help for this message, you cannot
use button “Right” on MD3. This button will be the
help button.

Function selector Select a state channel to use as function selector. One


function for each state will be added to this channel.
The active function is then decided by the value of the
state channel.

Function
The interactive message channel has the same type of object groups and
Qcode commands as the conditional message channel.

IQANdesign User manual 184


User interface channels
5 Channels

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

Range 0 (Inactive) The dialog box is not visible


1 (Active) The dialog box is visible
2 (Left) User pressed the left button
3 (Center) User pressed the center button
4 (Right) User pressed the right button
5 (ESC) User pressed the ESC button

Type Integer

Status

Object errors See section Propagated object status on page 116.

PIN code channel (PCC)


The PIN code channel is used to protect other parts of your application, such
as adjust groups, measure groups, logs or display pages. It is an interactive
channel that provides a dialog box for entering a PIN code.
The dialog box is displayed in the same way as a conditional message
(CMSG) dialog box. It is placed on top of all other dialog boxes visible at the
same time (except for some rare system messages).

PIN code channel dialog box.

IQANdesign User manual 185


User interface channels
5 Channels

Properties

Show message Select whether this message shall be shown on all


display modules in the system, All, or only its own
master’s display, Own.
The option Own implies that this channel belongs to a
master module with a display.
Note: This property has no function in systems with
only one display module.

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 selector Select a state channel to use as function selector. One


function for each state will be added to this channel.
The active function is then decided by the value of the
state channel.

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”.

Object list function


The PIN code channel has two object groups. One for showing the dialog box
and one for resetting its value.

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

• QReset will reset the value of the channel.

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

Range False (= 0) or True (= 1)

Type Boolean

Status

Object errors See section Propagated object status on page 116.

Adjust groups and logs


Adjust groups and logs can refer to a PIN code channel instead of defining
their own PIN code. Such PIN code channels don’t need a showing function,
although they are allowed to have one. As long as the PIN code channel value
is False, its dialog box will be shown when the corresponding adjust group or
log is selected on a display module. When using IQANrun, only the PIN code
from the PIN code channel is used, not the header and text.
After the correct PIN code has been entered, the PIN code channel value turns
True and the adjust group and/or log is unlocked and displayed. The adjust
group and/or log stays unlocked until the PIN code channel value turns False
(by its resetting object group or at power off). Multiple adjust groups and/or
logs can use the same PIN code channel and thereby be unlocked at the same
time. This is possible even for adjust group and logs that are located on other
master modules than the PIN code channel.

Virtual digital in (VDIN)


The virtual digital input channel is connected to a touch button (MD4) or soft
function button (MD3) on a display page. It can be used as a flexible way of
adding buttons to a system, for functions where reaction time is less impor-
tant.
As the VDIN depends on the graphics it does not respond with the same real-
time performance as other channels; unlike regular digital inputs, it is not
intended for commanding movement. The connection to a display module
button is made in a display page component, see section Physical display but-
tons on page 354.

IQANdesign User manual 187


User interface channels
5 Channels

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

Toggle Select Yes to make this channel toggling, that is, it


changes output value on each input activation
(controlling display button is pressed).

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.

Store value The value is stored in non-volatile memory so that it is


preserved during power off.

NOTE
Store value is only applicable when Toggle is set to Yes.

Value

Value Boolean value.

Unit n/a

Range False (= 0) or True (= 1)

Type Boolean

Status
No further status values except the standard statuses; Disabled and OK.

Display control (DCC)


The display control channel is used to control display backlight and display
buttons.

Properties

Type Select which type of input to control with this channel.

Input channel Select a channel to control the value of this system


input.

Enabled Enables or disables this system input.

IQANdesign User manual 188


User interface channels
5 Channels

Override States if the system input channel should override the


default input or if they should work in parallel. Note
that the backlight system input will always override the
internal backlight function when it is enabled.

Type constants

Backlight Controls the backlight.

Button F1-F4 Controls the buttons F1-F4.

Button up/down Controls the up and down buttons on the MD3.

Button OK Controls the OK button on the MD3.

Button menu Controls the menu button.

Button back Controls the back button.

Value

Value Input channel’s value.

Unit Same as input channel.

Range Same as input channel.

Type Same as input channel.

Status
No further status values except the standard statuses; Disabled and OK.

IQANdesign User manual 189


J1939 CAN channels
5 Channels

J1939 CAN channels


CAN messages
There are two types of CAN messages that IQAN supports: the J1939
message type, according to the SAE J1939 standard; and Generic CAN, that
can be used to interpret proprietary CAN protocols or other non J1939 proto-
cols, such as CANopen. This section handles J1939 CAN messages. For
generic CAN, see section Generic CAN channels on page 207.
Sometimes you need to add many channels to receive or transmit all data
from or to a CAN module. A helpful tool then is the CAN database. Read
about it in section CAN database on page 44.

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.

Other J1939 support


J1939 TDA (Time/Date Adjust, PGN 54528) support can be enabled for mas-
ter modules connected to a J1939 CAN bus. When enabled and a TDA frame

IQANdesign User manual 190


J1939 CAN channels
5 Channels

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.

J1939 frame input (JFIN)


The J1939 frame input channel is used to read data from a J1939 parameter
group (a PGN). The properties that you have to fill in, such as priority and
PGN, are documented in the SAE J1939 specification or are supplied by the
engine manufacturer.
To read parameter values such as fuel level or oil temperature, you have to
attach one or more J1939 parameter in channels to the J1939 frame input
channel. This channel type contains information that is unique for each
parameter value, such as resolution and offset. See section J1939 parameter
input (JPIN) on page 195 for more input.
A J1939 frame works as a frame for all the parameter channels connected to
the same PGN number, for example (PGN 61444), and contains properties
that are common for the parameters.

Properties

Priority An identifier that establishes the arbitration priority of


the information communicated.
The highest priority is zero and the lowest priority is
seven.

PGN Parameter Group Number, a unique identifier for a


parameter group.
PGN is sometimes expressed as two numbers, PF and
PS. The PGN is then calculated as PF*256+PS.
For PGN's in the PDU1 range you can also enter
destination address in separate property Destination
address (DA).

IQANdesign User manual 191


J1939 CAN channels
5 Channels

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.

Timeout [ms] Maximum allowed time from last received message or


poll request. When this time has passed, all parameters
connected to this parameter group are assigned their
Error value.
If you don’t care about timeout, select Not used.
Note: This value is often called transmit rate in
protocol specifications. The timeout should then be the
transmit rate plus some extra time to allow for delays
on the CAN bus.

Poll trigger Select a channel to use as a trigger to request this


message from sender. Each time the channel value
changes from False to True, the message is requested.
Should be used for PGN’s that are not sent periodically,
but on request.
If message is sent automatically, select Not used.
Note: If you want to use timeout together with poll
trigger, make sure the timeout is shorter than the poll
interval, otherwise timeout will not be detected.

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.

IQANdesign User manual 192


J1939 CAN channels
5 Channels

Value

Value Digital pulse for one cycle when parameter group is


received.

Unit n/a

Range False (= 0) or True (= 1)

Type Boolean

Status

Timeout Not received within the specified timeout period.

Not evaluated Not received since startup.

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.

First CAN frame


PGN: 65280
Byte 1and 2: 0x0001
Byte 3and 4: Value 1
Byte 5, 6, 7 and 8: Value 2

Second CAN frame


PGN: 65280
Byte 1 and 2: 0x0002
Byte 3 and 4: Value 3
Byte 5 and 6: Value 4

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.

IQANdesign User manual 193


J1939 CAN channels
5 Channels

Add parameter input


You have to add and define the parameters that are part of this channel. Either
you can add the parameter input channels directly in the property inspector
for the JFIN channel, or you can add the JPIN channels in the traditional way
as you add channels to the application and then connect the JPIN channels to
the JFIN channel.

Add a JPIN in a JFIN


To add parameters directly in the JFIN channel, click at the + sign on the right
of the Parameters property. If you have already added the channels in the tra-
ditional way, you just have to select the channel on the Channel property.
Otherwise, click on the + sign on the right side and enter a name for the new
parameter.

Parameter offset tool


The parameter offset tool gives you a graphical presentation of how the
parameters are allocated in the parameter group.
Open the tool by clicking on , to the right in the Offset property.

Parameter offset tool.

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.

IQANdesign User manual 194


J1939 CAN channels
5 Channels

J1939 parameter input (JPIN)


The parameter input channel is used to read a parameter value from a CAN
data frame, for example fuel level or oil temperature. The properties that you
have to fill in, such as parameter length, resolution/bit and the offset of the
parameter are documented in the SAE J1939 specification or supplied from
the engine manufacturer.
You have to add one JPIN channel for each parameter value that you want to
read in the J1939 or generic CAN data frame. The channel has to be con-
nected to a JFIN or GFIN channel to get its raw data. Define the common
frame properties such as priority, PGN number and transmission rate in the
JFIN channel.
The parameter in channel value will be the calculated according to the above
mentioned resolution and offset.

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.

Length [bits] Specify the length of this parameter.

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.

Offset Specify the offset of this parameter, for example -40°C


or 0 RPM.

Value

Value Scaled value.

Unit See property Unit.

Range 7 significant digits

Type Real

IQANdesign User manual 195


J1939 CAN channels
5 Channels

Status

Timeout Corresponding JFIN/GFIN not received within timeout


period.

Not evaluated Corresponding JFIN/GFIN not received.

J1939 Error Parameter value is in the SAE J1939 defined error


range.

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.

J1939 frame output (JFOUT)


The J1939 frame output channel is used to send a J1939 parameter group (a
PGN) to an external system. The properties for a JFOUT is almost the same
as for a JFIN, see section J1939 frame input (JFIN) on page 191.
A data frame consist of both a JFOUT channel for the common frame
properties and JPOUT channels with the unique parameter properties.

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.

Priority An identifier that establishes the arbitration priority of


the information communicated.
The highest priority is zero and the lowest priority is
seven.

PGN Parameter Group Number, a unique identifier for a


parameter group.
PGN is sometimes expressed as two numbers, PF and
PS. The PGN is then calculated as PF*256+PS.
For PGN's in the PDU1 range you can also enter
destination address in separate property Destination
address (DA).

IQANdesign User manual 196


J1939 CAN channels
5 Channels

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.

Send method Continuously: Use for messages that are to be sent


continuously. You need to specify the transmit rate
(property Transmit rate).
On trigger: Use for messages that are to be sent
occasionally. You need to specify a channel to trigger a
send (property Trigger).
You can also specify a minimum transmit rate
(property Transmit rate). The message will be sent at
this interval even if its not triggered. Select Not used to
disable this function.
On request: Use to only send the message upon request
from the receiver.
On change: Use to send the message every time any
parameter in the message changes value.
You can also specify a minimum transmit rate
(property Transmit rate). The message will be sent at
this interval even if its value is not changed. Select Not
used to disable this function.

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.

Trigger Select a channel to use as a trigger to send this frame.


Each time the channel value changes from False to
True, the frame is sent.

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.

IQANdesign User manual 197


J1939 CAN channels
5 Channels

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

Value Digital pulse when parameter group is sent.

Unit n/a

Range False (= 0) or True (= 1)

Type Boolean

Status

Inherited module status See section Inherited module status on page 116.

J1939 parameter out (JPOUT)


The J1939 parameter out channel is used to write a value in a CAN data
frame. This channel must be connected to a parameter group out, JFOUT or
GFOUT to work.

Properties

Input value Enter a value or select a channel to control the value of


this output.

Length [bits] Specify the length of this parameter.

Resolution [per bit] Specify the resolution (scaling) of this parameter, for
example 1°C/bit or 0.125 RPM/bit.

Offset Specify the offset of this parameter, for example -40°C


or 0 RPM.

Value

Value Calculated raw value.

Unit n/a

IQANdesign User manual 198


J1939 CAN channels
5 Channels

Range 0 to (2Length-1)
If input value does not fit in range, value is set to 0.

Type Integer

Status

Calculation overflow Value does not fit in defined length.

Inherited module status See section Inherited module status on page 116.

J1939 text output (JTOUT)


The J1939 text output channel is used to send text to an external system. The
data length of the frame will match the text length. If length exceeds 8 bytes,
the message will be sent as multi-packet, using transport Protocol BAM or
RTS/CTS in accordance with J1939-21.

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.

Priority An identifier that establishes the arbitration priority of


the information communicated.
The highest priority is zero and the lowest priority is
seven.

PGN Parameter Group Number, a unique identifier for a


parameter group.
PGN is sometimes expressed as two numbers, PF and
PS. The PGN is then calculated as PF*256+PS.
For PGN's in the PDU1 range you can also enter
destination address in separate property Destination
address (DA).

IQANdesign User manual 199


J1939 CAN channels
5 Channels

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.

Send method On trigger: Use for messages that are to be sent


occasionally. You need to specify a channel to trigger a
send (property Trigger).
On request: Use to only send the message upon request
from the receiver.

Trigger Select a channel to use as a trigger to send this frame.


Each time the channel value changes from False to
True, the frame is sent.

Value

Value Digital pulse when parameter group is sent.

Unit n/a

Range False (= 0) or True (= 1)

Type Boolean

Status

Calculation overflow Text is too long

Inherited module status See section Inherited module status on page 116.

Diagnostic message 1 in (DM1)


This channel is used to read the active trouble codes in the diagnostic
message from a J1939 module.
The DM1 channel works as a frame for all specified SPN in channels sent
from the J1939 module. In the DM1 channel you have to specify the SPN
conversion method, how the SPN messages are converted and also add the
SPN in channels as parameters.

IQANdesign User manual 200


J1939 CAN channels
5 Channels

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.

Show message Select whether dialog boxes for SPN’s connected to


this DM1 shall be shown on all display modules in the
system, All, or only its own master’s display, Own.
The option Own implies that this channel belongs to a
master module with a display.
Note: This property has no function in systems with
only one display module.

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.

Channel 1, 2, etc. Select the channel that defines this parameter.

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

Value Number of currently active SPN’s.

Unit n/a

Range >= 0

Type Integer

IQANdesign User manual 201


J1939 CAN channels
5 Channels

Status

J1939 Error One or more active SPN’s.

Inherited module status See section Inherited module status on page 116.

Suspect parameter number in (SPN)


The SPN in channel is used to read diagnostic information on a J1939 mod-
ule. Each SPN must be connected to a DM1 channel to function.

Properties

SPN Suspect Parameter Number, a number used to identify


a particular element, component, or parameter
associated with an ECU. This capability is especially
useful for diagnostics, permitting an ECU which has
detected a fault associated with a particular component,
such as a sensor, to transmit a fault message identifying
the faulty component.

Dialog priority A dialog is automatically shown when a failure is


detected for this SPN. Select a priority for the dialog.
Message has the lowest priority and Critical has the
highest.
If you don’t want a dialog shown automatically, select
Don’t show.

Failures Specify failure mode identifiers and their


corresponding text. If a failure mode is not specified
here, it will be taken from the DM1 this channel is
connected to instead.

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

Value Failure mode identifier.

Unit n/a

IQANdesign User manual 202


J1939 CAN channels
5 Channels

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.

DM1 out container


DM1 out is a container located under the Diagnostics node in the project
manager. There is one DM1 out for each master module in the project. DM1
out is used to send active trouble codes in a diagnostic message to external
J1939 modules.
The DM1 out works as a frame for SPN out items. SPN out items are created
by dragging channels to the DM1 out node. All SPN out items whose chan-
nels have a warning or error status are added the DM1 out frame.
DM1 out is sent with 1 second interval. It uses SPN conversion method 4.
DM1 out lamp is set to amber warning when at least one SPN has an active
trouble code.

Properties

CAN bus J1939 bus where the DM1 message will be sent. Select
Not used to disable DM1 out.

SPN out items


The SPN item is used to add a channel to the DM1 out container.

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:

IQANdesign User manual 203


J1939 CAN channels
5 Channels

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

SPN Enter the J1939 SPN number (Suspect Parameter


Number) that should be used in DM1 when an error is
detected for the input channel.

TSC1 engine control (TSC1)


The TSC1 channel (PGN 0) is used to control the engine speed on a J1939
controlled engine. The properties for this channel are supplied from the
engine manufacturer.

Properties

J1939 source address Enter the source address to use for this message. Set to
Default to use the module’s default source address.

Engine speed limits High and low idle speed.

Input channel Select a channel to control the value of this output. The
selected channel should have a value range of 0 -
100%.

Priority An identifier that establishes the arbitration priority of


the information communicated.
The highest priority is zero and the lowest priority is
seven.

Transmit rate [ms] Transmit rate for this CAN data frame. Resolution is 10
ms.

IQANdesign User manual 204


J1939 CAN channels
5 Channels

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.

Override control mode This is used as an input to the engine or retarder to


priority determine the priority of the Override control mode
received in the Torque/Speed Control message.

Use checksum/counter Select Yes to enable SPN 4206 (message counter) and
SPN 4207 (message checksum) in the TSC1 message.

Value

Value Command value.

Unit RPM

Range See property Engine speed limits.

Type Real

Status

Inherited module status See section Inherited module status on page 116.

CRC parameter (CRC)


The CRC parameter channel is used as parameter in JFIN, JFOUT, GFIN and
GFOUT to calculate and verify a checksum based on the CAN frame header
and content.
Two different checksum types are supported, CRC-8 according to SAE-J1850
and J1939 checksum.

IQANdesign User manual 205


J1939 CAN channels
5 Channels

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.

SAE-J1850 CRC-8 incl ID


Same as above but the checksum is calculated over the data part and the CAN
identifier.

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

Type Determines the type of checksum to be used:


SAE-J1850 CRC8 - An 8 bit CRC according to J1850
calculated over the data part of the CAN frame.
SAE-J1850 CRC8 incl ID - An 8 bit CRC according to
J1850 calculated over the CAN identifier and data part
of the CAN frame.
J1939 checksum - Used by J1939 messages.

Seed This is the initial value used by the selected CRC


algorithm.

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.

IQANdesign User manual 206


Generic CAN channels
5 Channels

Generic CAN channels


Generic CAN
The Generic CAN message is an open protocol, where both the identification
length and data frame length can be defined to match different message
protocols.

Generic frame in (GFIN)


The generic frame input channel is used to read a CAN data frame.Typically
it is used to read CAN-based protocols other than SAE J1939.
The generic frame input works the same as the JFIN channel, but with
another identifier. To read a parameter value from the frame data, you have to
use the GPIN or JPIN channels in the same way as you would for the JFIN
channel.

Properties

Identifier Specify identifier for this frame.


Note: If you are using standard identifier size (11 bits),
valid range is only 0 - 2047 (0x00 - 0x7FF). Identifier
size is specified on the generic CAN bus that this
channel is located on.

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

IQANdesign User manual 207


Generic CAN channels
5 Channels

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

Value Digital pulse for one cycle when frame is received.

Unit n/a

Range False (= 0) or True (= 1)

Type Boolean

Status

Timeout Not received within the specified timeout period.

Not evaluated Not received since startup.

Inherited module status See section Inherited module status on page 116.

Generic parameter in (GPIN)


The generic parameter in channel is used to read a parameter value from a
CAN data frame, for example fuel level or oil temperature. One GPIN chan-
nel is used for each parameter value that is to be read in a CAN data frame.
The channel has to be connected to a JFIN or GFIN channel to get its raw
data.

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.

IQANdesign User manual 208


Generic CAN channels
5 Channels

Length [bits] Specify the length of this parameter.

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

Value Scaled value.

Unit See property Unit.

Range 7 significant digits

Type Real, Integer or Boolean according to selected type

Status

Timeout Corresponding GFIN/JFIN not received within timeout


period.

Not evaluated Corresponding GFIN/JFIN not received.

Inherited module status See section Inherited module status on page 116.

Generic frame out (GFOUT)


The generic frame output channel is used to send a CAN data frame. Typi-
cally it is used to send data to devices using other CAN protocols than SAE
J1939.
The generic frame output works as the JFOUT channel but with another iden-
tifier. To add parameter values to the frame data, you have to use the GPOUT
or JPOUT channels in the same way as for the JFOUT channel.

Properties

Identifier Specify identifier for this frame.


Note: If you are using standard identifier size (11 bits),
valid range is only 0 - 2047 (0x00 - 0x7FF). Identifier
size is specified on the generic CAN bus that this
channel is located on.

Data length [bytes] Specify data length for this frame.

IQANdesign User manual 209


Generic CAN channels
5 Channels

Send method Continuously: Use for messages that are to be sent


continuously. You need to specify the transmit rate
(property Transmit rate).
On trigger: Use for messages that are to be sent
occasionally. You need to specify a channel to trigger a
send (property Trigger).
You can also specify a minimum transmit rate
(property Transmit rate). The message will be sent at
this interval even if its not triggered. Select Not used to
disable this function.
On change: Use to send the message every time any
parameter in the message changes value.
You can also specify a minimum transmit rate
(property Transmit rate). The message will be sent at
this interval even if its value is not changed. Select Not
used to disable this function.

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.

Trigger Select a channel to use as a trigger to send this frame.


Each time the channel value changes from False to
True, the frame is sent.

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

Value Digital pulse when frame is sent.

Unit n/a

Range False (= 0) or True (= 1)

Type Boolean

IQANdesign User manual 210


Generic CAN channels
5 Channels

Status

Inherited module status See section Inherited module status on page 116.

Generic parameter out (GPOUT)


The generic parameter out channel is used to write a value in a CAN data
frame. This channel must be connected to a parameter group out, GFOUT or
JFOUT to work.

Properties

Input value Enter a value or select a channel to control the value of


this output.

Length [bits] Specify the length of this parameter.

Type Select how the value shall be encoded in the CAN


message. Supported types are boolean, 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

Value Calculated raw value.

Unit n/a

Range 0 to (2Length-1)
If input value does not fit in range, value is set to 0.

Type Integer, Real or Boolean (See type in properties)

Status

Calculation overflow Value does not fit in defined length.

Inherited module status See section Inherited module status on page 116.

IQANdesign User manual 211


Safety channels
5 Channels

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

Fault detected Error


Reset fault
(input or
diff
check)

Awaiting
reset

Fault gone
Enable

Disable

Channel Disabled

Compare channels state diagram.

Analog/analog compare (AAC)


The analog/analog compare channel is used to perform a diagnostic check on
an analog (primary) input channel that has another redundant analog (second-
ary) channel that follows its scaled value.

IQANdesign User manual 212


Safety channels
5 Channels

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

Raw value Raw value

Scaled
value

Raw value

Examples of primary and secondary channels.

Properties

Enable Enables or disables this channel.


When disabled, the value is False. When enabled
again, the channel will not require a reset of errors that
occurred before the channel was disabled, but will
require that the start up condition is met before the
value resumes.

IQANdesign User manual 213


Safety channels
5 Channels

Primary input The primary input is the analog input channel that
should be checked.

Secondary input The scaled value of the secondary input will be


compared to the scaled value of the primary input.

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.

OK to start At startup or after fault has been detected (and reset),


the channel will stay in start block state until the OK to
start channel is True.
Select Not used to skip this check.

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

Value True when its status is OK, otherwise False.

Unit n/a

Range False (= 0) or True (= 1)

Type Boolean

Status

Input error Primary or secondary input channel’s status is not OK.

Diff check error Abs(Primary - Secondary) > Diff check limit for a
continuous period longer than Detection delay.

Start block Reset error or OK to start condition not met.

Digital/digital compare (DDC)


The digital/digital compare channel is used to perform a diagnostic check on
a pair of antivalent or equivalent digital channels.

IQANdesign User manual 214


Safety channels
5 Channels

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

Enable Enables or disables this channel.


When disabled, the value is False. When enabled
again, the channel will not require a reset of errors that
occurred before the channel was disabled, but will
require that the start up condition is met before the
value resumes.

Primary input The primary input is the digital input channel that
should be checked.

Secondary input The inverted value of the secondary input will be


compared to the value of the primary input.

Input relation Select if the secondary input is expected to be the


opposite or the same as the primary input.

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.

OK to start At startup or after fault has been detected (and reset),


the channel will stay in start block state until the OK to
start channel is True.
Select Not used to skip this check.

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

Value True when its status is OK, otherwise False.

Unit n/a

Range False (= 0) or True (= 1)

IQANdesign User manual 215


Safety channels
5 Channels

Type Boolean

Status

Input error Primary or secondary input channel’s status is not OK.

Diff check error Primary = Secondary for a continuous period longer


than Detection delay.

Start block Reset error or OK to start condition not met.

Analog/digital compare (ADC)


The analog/digital compare channel is used to perform a diagnostic check on
an analog (primary) input channel that has another redundant digital (second-
ary) channel that switches to true when the analog input is above a certain
point.
The value of the channel will be True when its status is OK, otherwise the
value will be False

Properties

Enable Enables or disables this channel.


When disabled, the value is False. When enabled
again, the channel will not require a reset of errors that
occurred before the channel was disabled, but will
require that the start up condition is met before the
value resumes.

Primary input The primary input is the analog input channel that
should be checked.

Secondary input The boolean input of the secondary input is expected to


turn True when the value of the primary input is above
a certain point.

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.

IQANdesign User manual 216


Safety channels
5 Channels

OK to start At startup or after fault has been detected (and reset),


the channel will stay in start block state until the OK to
start channel is True.
Select Not used to skip this check.

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

Value True when its status is OK, otherwise False.

Unit n/a

Range False (= 0) or True (= 1)

Type Boolean

Status

Input error Primary or secondary input channel’s status is not OK.

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.

Start block Reset error or OK to start condition not met.

Transfer channels
The transfer channels are used to send safety related data between master
modules.

Application input (APPIN)


The application input channel is used to receive the value and status of a
channel in another application. It is always used in conjunction with an appli-
cation output channel on another master module.
The data is sent using a safe CAN protocol which makes it possible to use the
channels in safety related functions. There must be a master bus connection
to the master with the selected APPOUT channel. See section Buses on page
105.
IQANdesign User manual 217
Safety channels
5 Channels

The timeout of the APPIN channel is calculated automatically as 2·transmit


rate of the selected APPOUT channel.

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

Value The latest value received.

Unit Same as APPOUT channel.

Range Same as APPOUT channel.

Type Same as APPOUT channel.

Status

Timeout Not received within timeout period.

Inherited status This channel inherits from the received status.

Application output (APPOUT)


The application output channel is used to send a channel's value and status at
a specified rate from one application (master module) to another via a master
CAN bus. The receiving application uses an application input channel to read
the value and status.
The data is sent using a safe CAN protocol which makes it possible to use the
channels in safety related functions. This implies it is only capable of sending
one channel per CAN frame. If you have to transfer many non safety related
channels, you may need to use JFOUT (or GFOUT) instead to not overload
the CAN bus. That way you can package multiple values into each CAN
frame.

Properties

Input channel Select the channel that you want to send to other
applications.

IQANdesign User manual 218


Safety channels
5 Channels

Send method Continuously: Use for messages that are to be sent


continuously. You need to specify the transmit rate
(property Transmit rate).
On trigger: Use for messages that are to be sent
occasionally. You need to specify a channel to trigger a
send (property Trigger).
You can also specify a minimum transmit rate
(property Transmit rate). The message will be sent at
this interval even if its not triggered. Select Not used to
disable this function.
On change: Use to send the message every time the
input channel changes value.
You can also specify a minimum transmit rate
(property Transmit rate). The message will be sent at
this interval even if its value is not changed. Select Not
used to disable this function.

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.

Trigger Select a channel to use as a trigger to send this frame.


Each time the channel value changes from False to
True, the frame is sent.

Value

Value The latest sent value of the input channel.

Unit Same as input channel.

Range Same as input channel.

Type Same as input channel.

Status

Inherited status The latest sent status of the input channel.

IQANdesign User manual 219


Structure
5 Channels

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

Value Same as input’s value.

Unit See property Unit.

Range See properties Min limit and Max limit.

Type See property Input type.

Status

Out of range Input value is outside the range defined.

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.

IQANdesign User manual 220


6 Function groups

A function group can be characterized as a container for channels and other


function groups. Each function group should contain most components
needed for its functionality. When a component needed in a function group
resides outside of it, it can still be incorporated in the function group by the
concept of function group inputs and outputs or by using the channel scope
feature.
A function group doesn’t always need to have inputs and outputs, it could
have either inputs or outputs, both inputs and outputs or none of them. It
depends on what functionality you have created inside the function group.

Function group input Function group outputs

Function group with both inputs and outputs.

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.

IQANdesign User manual 221


Function groups
6 Function groups

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.

Function group properties

Name Enter a name to identify this function group.

Description Enter a description for this application component.

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.

FGI channels All FGI channels contained in this function group


corresponds to a property here. Property name and hint
is the same as the FGI channel name and description.
The property value is the same as the FGI “Input”
property value.
Select the channel you want to use as an input to the
function group or enter a constant value if applicable.
You can only select channels that are of the type you
have specified in the FGI “Input type” property.
When there is more than one FGI, the corresponding
properties are sorted in calculation order, see section
Calculation order on page 227.

Properties for function group and function group input channel.

IQANdesign User manual 222


Function groups
6 Function groups

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.

IQANdesign User manual 223


Function group input
6 Function groups

Function group input


To bring values in to a function group, you can use a special channel type
called Function group input (FGI). You will find the FGI channel in the
Structure section in the add menu.
To bring a value in to a function group you have to add a FGI channel to that
function group. You need to specify if the value type is real, integer, digital,
state machine or text. Depending on what value type you have specified, you
will also have to specify unit, limits or states.
The FGI channel has one property called Input. This is the outside channel
whose value you need in your function group.
When you add a FGI channel to a function group, a property with the same
name as the FGI channel will automatically be created on the function group.

FGI properties

Name Unique name for this channel. Also used as property


name on the function group that contains this FGI.

Description Enter a description for this application component.

Unit The unit for the scaled value of this channel.


Only applicable when Input type is Real or Integer.

Input type Specify whether the input is Real, Integer, Digital,


State or Text. If input type is State, you must specify
the states as well.

Input The input controls the value of this function group


input. You can also set this property via the function
group’s 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.

Max limit Input type is Real or Integer: Maximum value allowed.


If the input value is greater than this limit, channel
value equals this limit.
Input type is Text: Maximum number of characters
allowed.

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.

IQANdesign User manual 224


Channel scope
6 Function groups

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.

Changing the channel scope


• Right click on the channel that you want to change the scope for.
• Select the new channel scope from Channel scope sub menu in the popup
menu.

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.

A circled down arrow symbolizes that a channel is protected.

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.

A circled up/down arrow symbolizes that a channel is public.

Function group output


By changing the scope of a channel to function group output the channel is
visible also in the parent function group. It is also shown as an output of the
function group.

A circled right arrow symbolizes that a channel is a function group output.

The function group output can be used in the parent function group as if it
were a channel in that function group.

IQANdesign User manual 225


Channel scope
6 Function groups

Function group with two outputs.

Using protected and public channels


Public and protected channels from other function groups are available in the
property inspector when selecting channels. To make them easier to find they
are grouped by the function group where they are defined.

Public and protected channels from other function groups are grouped by function group name.

After selecting a public or protected channel located in another function


group a “shadow” of the foreign channel is shown in the current group.

A shadow of the referred foreign channel.

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.

Dependencies between function groups introduced by channel scope.

IQANdesign User manual 226


Calculation order
6 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.

Red line used for inverse calculation order.

To rearrange the calculation order


It is easy to sort the channels in the order you want. Right click in the function
group and select Calculation order... in the popup menu.

Calculation order dialog box.

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.

IQANdesign User manual 228


Function group comments
6 Function groups

Function group comments


To document the functionality of a function group it is a good idea to add
comments. Comments are found in the add menu’s Structure section, and they
are added in the form of a post-it note that can be moved and resized as
needed. The text can be edited by clicking in the comment. The name prop-
erty of the comment is shown as a header.

Comments.

IQANdesign User manual 229


Locked function groups
6 Function groups

Locked function groups


To lock a function group can be useful for several reasons. For example you
might want to protect a valuable function in your application so that it is only
visible for the application developer.

Locked for editing and viewing


A function group that is locked can not be edited or viewed by anyone. To do
that you have to unlock it first, in which case you have to know the password
or have a safe password for the function group (see section Password data-
base on page 379). The password is unique for that function group and is not
connected to project passwords or other function group passwords.
If a locked function group contains other function groups, those function
groups will also be locked and thereby hidden. All channels, except those
defined as function group outputs, are also hidden and can not be seen any-
where in the application. There is one exception - inputs and outputs con-
nected to a module can be seen in the module block diagram view. Their
properties will be hidden though. Hidden channels may also turn up in the
application check dialog box if they generate hints, warnings or errors.
Locked function groups will remain locked when exported to other applica-
tions.
All properties on a locked function group; Name, Description, Enabled and
the input properties will still be enabled.

Set function group password


To lock a function group you need the set a password for it. Right-click on the
function group and select Set password. A password dialog box appears.
Enter the password you want to lock the function group with and click OK.

Set function group password dialog box.

IQANdesign User manual 230


Locked function groups
6 Function groups

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).

Add password dialog.

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.

Locked function group.

If you double-click a function group that is locked, or select it in the project


manager, a message telling you that this function group is locked is displayed
instead of the function group contents.

Locked function group.

IQANdesign User manual 231


Locked function groups
6 Function groups

Unlock a function group


To unlock a function group, right-click on it and select Unlock from the
popup menu. A password dialog box appears. Enter correct password and
click OK. The function group is unlocked and can be edited again.

Unlock function group dialog box.

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.

IQANdesign User manual 232


Frozen function groups
6 Function groups

Frozen function groups


To protect a function group from being edited while keeping it visible you
have the option to freeze it. This can be useful to avoid unintentional changes
of a verified function. To freeze a function group, right-click on the function
group and select Frozen in the popup menu. This will freeze the current func-
tion group, so that you can not add, delete, move or change any components
in it. All function groups below the current one will also be frozen.
Frozen function groups are indicated by a snow flake icon in the top right cor-
ner of the editor, and in the upper right corner of the function group control.
Function groups below the frozen one are implicitly frozen and this is indi-
cated by a grey snow flake icon.

Frozen function group.

To be able to edit the function group again, right-click on it and select Frozen
once more.

IQANdesign User manual 233


Safety related function groups
6 Function groups

Safety related function groups


All IQAN modules are designed with the functional safety requirements of
mobile machines in mind. Some modules, like the IQAN-MC3, are especially
suited for applications with higher demands on functional safety, where there
is a need to prove the safety integrity of each implemented safety function.
For these applications, it is wise to collect safety related functions in one or
more function groups to separate them from other functionality. Function
groups containing such functions can then be marked as safety related. Safety
related function groups use a stricter check when project check is executed.
This is helpful when designing safety functions that needs to be certified
according to a safety standard, for example IEC 61508 or EN ISO 13849. See
tables below for details on what is detected as errors by application check
when using safety related function groups.

Mark as safety related


Create safety related function groups by right-clicking on a function group
and select Safety Related. Safety related function groups are marked with a
safety symbol in the upper right corner.

Safety related function group.

Channels not allowed in safety related function groups

PWM All PWM output channels.

MDGN All module diagnostic channels except those


measuring VREF.

SIC All system information channels except those


measuring cycle time.

TP All text parameter channels.

TFC All text formatting channels.

CMSG All conditional message channels.

IMSG All interactive message channels.

PCC All PIN code channels.

SMSIN All SMS input channels.

SMSOUT All SMS output channels.

IQANdesign User manual 234


Safety related function groups
6 Function groups

VDIN All virtual digital in channels.

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.

Other errors related to safety related function groups

Adjustable/stored channel Not protected by access level or PIN code.

COUT Max parameter less than or equal to its corresponding


min parameter.

FP Max limit less than or equal to min limit.

BWF The cutoff frequencies are less than or equal to 0 or


greater than or equal to half the system sample
frequency.
When using band pass or band stop filter the second
cutoff frequency is smaller than or equal to the first
cutoff frequency.

FGI Max limit less than or equal to min limit.


Max or min limit not defined.

APPOUT Transmit rate is not defined.

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.

Master module Master module is not certified for functional safety.

I/O channels Not assigned to module certified for functional safety.

Adjust group Adjust group contains safety related channel(s) but is


not protected by an access level or PIN code.

Channel scope Only local channels are allowed in safety related


function groups.

IQANdesign User manual 235


Export/Import
6 Function groups

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.

Export dialog box.

• To export only the selected components (with their content), answer No to


the export references question.
• To export referenced components (such as adjust groups, display pages,
etc.) also, answer Yes instead.
A save file dialog box appears. Select a folder where you want your exported
file stored and enter a file name.

Selected component(s) without references


Components with content are exported plus the corresponding master mod-
ule. Example: You have selected a function group. The function group with
all its contained function groups and channels with functions/objects will be
exported. The master module with the function group will also be exported.
Any other components that are not contained by the function group will not
be exported.

Selected component(s) with references


Same as above, but referenced components are also exported.

Function groups/Channels Function groups and/or channels that resides outside of


the exported components will not be exported.

IQANdesign User manual 236


Export/Import
6 Function groups

Modules All modules with any of the exported channels


connected will be exported. CAN buses are not
exported.

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.

Logs Logs will not be exported.

Languages Languages are not exported.

Pages Pages or pages with controls that refer to any of the


exported channels are exported. All controls on an
exported page are exported regardless of whether they
refer to any of the exported channels or not.

Images Images that refer to any of the above exported


components are exported.

Security Access levels that refer to any of the above exported


components are exported.

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.

IQANdesign User manual 237


Initialization function group
6 Function groups

Initialization function group


This special function group is executed only once at startup, before the rest of
the application starts to execute. It must be placed at the top level in an appli-
cation and be first in the calculation order, see section Calculation order on
page 227.
The purpose of this function group is to set up initial values before the appli-
cation execution starts. These values will then be the same throughout the
entire execution.
You can put normal channels in an initialization function group, but only
from a limited set of channel types; Math, Integer math, Function parameter,
Integer parameter, Digital parameter, State parameter and Text parameter. In
addition to those you can also add comments and sub function groups. All of
these are available through the add menu just like a normal function group.

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

Master modules with IP address


Ethernet Subnet mask
Default gateway
Primary DNS
Secondary DNS

Master modules J1939 source address


Terminate CAN-x

J1939 module Source address

Plugin modules Specific to each module type

J1939 bus Speed

Generic bus Speed

J1939 frame in channel Timeout

J1939 frame out channel J1939 source address


Transmit rate

Generic frame in channel Timeout

Generic frame out channel Transmit rate

IQANdesign User manual 238


Initialization function group
6 Function groups

Component Property

TSC1 channel J1939 source address


Engine speed limit > Low
Engine speed limit > High
Use checksum/counter

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.

IQANdesign User manual 239


External functions
6 Function groups

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.

Changing file name or path to an external file


If the external file changes name or is moved to another folder, you have to
change its File name property accordingly. Select the external file (node
External functions) and change the value of property File name. You can use
relative path to current project location if you like.

IQANdesign User manual 240


External functions
6 Function groups

Breaking link to external file


External function group instances can be converted to common function
groups, by breaking the link to the external function file.
By deleting the external function file from the list of external functions in the
project, the link will be broken and all function group instances using it will
be turned into regular function groups.

IQANdesign User manual 241


Function group options
6 Function groups

Function group options


To set options for the function group editor, select Tools > Options and click
the Function groups tab in the options dialog box.

Options - Function groups.

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

IQANdesign User manual 242


Function group options
6 Function groups

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.

IQANdesign User manual 243


7 Functions using
Qcode

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.

IQANdesign User manual 244


Qcode editor
7 Functions using Qcode

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.

The Qcode editor with an example expression.

To provide help with available operators and functions a number of drop


down menus are available above the editor. These menus can be used to insert
components, conditional statements, vectors, operators and functions at the
current cursor position in the editor.
While typing additional help is also shown in the form of an auto-complete
drop-down menu with possible choices in the given context. Using the arrow
keys and enter key you can quickly select the component name or operator to
insert without having to type the complete name. In most cases the menu is
shown automatically, but it can also be activated by pressing
<Ctrl>+<Space>.

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

IQANdesign User manual 245


Qcode editor
7 Functions using Qcode

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.

Expression hints and errors


While typing an expression it is constantly being interpreted by IQANdesign.
Any errors that are found are highlighted by underlining the error with a red
line. Also an indication is shown in the left gutter of the editor for errors
found on each row. By hovering with the mouse cursor above the error more
details are shown.

Expression hints and errors.

If a line in the Qcode expression is not used anywhere it is indicated with a


hint and shown with a grey indication in the left gutter. Even if an expression
is not used it is evaluated at run time and contributes to the cycle utilization of
the master module.

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.

IQANdesign User manual 246


Qcode editor
7 Functions using Qcode

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.

Multiple line indent


You can indent multiple lines by selecting them and pressing the <Tab> key.
Pressing <Shift>+<Tab> will un-indent selected lines.

IQANdesign User manual 247


Qcode syntax
7 Functions using Qcode

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))

IQANdesign User manual 248


Qcode syntax
7 Functions using Qcode

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

IQANdesign User manual 249


Operators, functions and commands
7 Functions using Qcode

Operators, functions and commands


Relational operators and functions
Operand1 = Operand2 True if Operand1 equals Operand2, otherwise False.
Operand1 <> Operand2 False if Operand1 equals Operand2, otherwise True.
Operand1 < Operand2 True if Operand1 is less than Operand2, otherwise
False.
Operand1 > Operand2 True if Operand1 is greater than Operand2, otherwise
False.
Operand1 <= Operand2 True if Operand1 is less than or equal to Operand2,
otherwise False.
Operand1 >= Operand2 True if Operand1 is greater than or equal to Operand2,
otherwise False.
Inside(Operand, LowLimit, LowLimit < Operand < HighLimit.
HighLimit) True if Operand is inside the range
LowLimit - HighLimit, otherwise False.
If LowLimit is greater than HighLimit they are swapped
before condition is evaluated.
Outside(Operand, Operand1 < LowLimit or Operand1 > HighLimit.
LowLimit, HighLimit) True if Operand is outside the range
LowLimit - HighLimit, otherwise False.
If LowLimit is greater than HighLimit they are swapped
before condition is evaluated.

Arithmetic operators
Operand1 + Operand2 Calculates Operand1 + Operand2.

Operand1 - Operand2 Calculates Operand1 - Operand2.

Operand1 * Operand2 Calculates Operand1 · Operand2.

Operand1 / Operand2 Calculates Operand1 / Operand2.

Operand1 div Operand2 Integer division. Calculates Operand1 div Operand2.


Example: 7 div 2 = 3

IQANdesign User manual 250


Operators, functions and commands
7 Functions using Qcode

Operand1 mod Operand2 Remainder. Calculates Operand1 mod Operand2.


Example: 7 mod 2 = 1

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.

sin(Angle) Sine of Angle where the angle is given in degrees.


cos(Angle) Cosine of Angle where the angle is given in degrees.
asin(Operand) Inverse sine of Operand.
acos(Operand) Inverse cosine of Operand.

IQANdesign User manual 251


Operators, functions and commands
7 Functions using Qcode

tan(Angle) Tangent of Angle where the angle is given in degrees.


atan(Operand) Arctangent of Operand.

Logical (bitwise) operators


bnot(Operand) Bitwise negation.
Operand1 band Operand2 Bitwise and.
Operand1 bor Operand2 Bitwise or.
Operand1 bxor Operand2 Bitwise xor.
Operand1 shl Operand2 Bitwise shift left. Operand1 is shifted Operand2 steps
to the left.
Operand1 shr Operand2 Bitwise shift right. Operand1 is shifted Operand2 steps
to the right using arithmetic shift.

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.

IQANdesign User manual 252


Operators, functions and commands
7 Functions using Qcode

PowerOf(Operand1, Raises base to any power.


Operand2) Operand1 is base and Operand2 is exponent.
Ln(Operand) Natural logarithm (Ln(e) = 1) of Operand.
Round(Operand) Rounds Operand to the nearest integer (whole
number). If Operand is exactly halfway between two
whole numbers, the result is always the even number.
This method of rounding is often called “Banker’s
Rounding”.
Example: Round(1.04) = 1, Round(1.5) = 2,
Round(2.5) = 2.
Operand1 *% Operand2 Percent multiplication. Calculates Operand1 *
Operand2. Both operands are expected to be in percent
and the result will also be in percent.
Example: Operand values 70% and 50% gives the
result 35%.
DerivativeOf(Operand) Derivative. Calculates the derivative of Operand. Step
size (t1 - t2) is always the system cycle time. The
resulting unit is [“Unit of Operand”/s].
Example: The derivative of a distance [m] is the speed
of which it changes [m/s].
Integrate(Operand) Integral. Calculates the integral of Operand. Step size
(t1 - t2) is always the system cycle time. The unit of
Operand is expected to be [/s].
Example: The integral of a speed [m/s] is the travelled
distance [m].
Flank(Operand) Flank detect. Detects rising or falling flanks on digital
signals. Generates a pulse when flank is detected
(value turns True for one cycle).
PositiveFlank(Operand) Positive flank detect. Detects rising flanks on Boolean
signals. Generates a pulse when flank is detected
(value turns True for one cycle).
NegativeFlank(Operand) Negative flank detect. Detects falling flanks on
Boolean signals. Generates a pulse when flank is
detected (value turns True for one cycle).
Random(Operand) Generates a random number between 0 and the
Operand - 1.
Example: Operand equals 10 gives a random number
0-9.

IQANdesign User manual 253


Operators, functions and commands
7 Functions using Qcode

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

Array operators and functions


ArrayChannel[Index] := Array assignment. Assigns Value to the array cell with
Value given Index within the array channel ArrayChannel.
Array assignment is only allowed within the Qcode
function of the array channel itself.
ArrayChannel[Index] Array lookup. Get the value of the array cell with given
Index within the array channel ArrayChannel.
ArrayAverage(Array) Calculates average value of all cells in the array
channel Array.
ArrayIndexOfMin(Array) Returns the index of the cell with minimum value
within the array channel Array.
ArrayIndexOfMax(Array) Returns the index of the cell with maximum value
within the array channel Array.

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.

IQANdesign User manual 254


Operators, functions and commands
7 Functions using Qcode

QDecrease Decreases the value of the channel.


QReset Resets the value of the channel.
QShow Triggers a message channel to show a message dialog.
QHide Hides the message dialog of a channel.
QAdd Adds a value to a MEM channel.
QSubtract Subtracts a value from the MEM channel.
QReplace Replaces a value for the MEM 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-

IQANdesign User manual 255


Operators, functions and commands
7 Functions using Qcode

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 +, -

Operator group 3 =, <>, <, >, <=, >=

Operator group 4 and, or, xor

IQANdesign User manual 256


Channel naming
7 Functions using Qcode

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).

Function group specifier


There are functions where channels from the complete application can be
used, e.g. in the function of an event log. To be able to identify a channel in
these functions they must be referred to using function group name together
with the channel name separated with a dot (“.”).
Same thing applies when you use a function group output in a Qcode expres-
sion. It has to be prefixed with its function group name to identify it.
Result := Weight function.Store weight

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.

Local variable names


It is good practice to give local variables names that are unique also when
considering the channel names within the function group. However if a vari-
able has the same name as a channel it is the variable that will be referred to
when used within the Qcode expression.

Whitespace characters in names


It is allowed to use whitespace characters in channel names also when they
are used in Qcode expressions. This is needed since the channel names are
also used to present information to the end user, e.g. if there is an error on an
input.
When it comes to variable names it is good practice to use so called camel
casing instead of whitespace characters, e.g. JoystickControl. This normally
results in more readable expressions.
IQANdesign User manual 257
Channel naming
7 Functions using Qcode

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

if result static then

true undefined vector

IQANdesign User manual 258


8 Functions using
object list

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.

IQANdesign User manual 259


Object groups
8 Functions using object list

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.

Object group types


Controlling
The controlling object group is used with analog value channels, such as a
math channel.
The primary role of the controlling object group is to control the channel’s
output value. The controlling objects are generally made up of signals that the
operator can influence himself, for example, the input from a lever or a pedal.

Controlling and Limiting object groups in a function for a math channel.

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.

Controlling object group

t
Limiting object group

t
Function value

Controlling and limiting object groups.

Activating
The activating object group is used with digital value channels, such as an
internal digital channel.

IQANdesign User manual 260


Object groups
8 Functions using object list

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.

Activating object group


t

Blocking object group


t

Function value
t

Activating and blocking object groups.

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.

Object group method


Each object group also has a method that specifies how its objects are com-
bined to create the object group value. The only objects that are affected by
the object group method are the resulting objects. Resulting objects are
objects that are not referred to by other objects.

IQANdesign User manual 261


Object groups
8 Functions using object list

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

Applicable to Controlling and Limiting object groups.

Value of controlling object A

Value of controlling object B


50%
t

Value of object group

Two objects.

IQANdesign User manual 262


Object groups
8 Functions using object list

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

And method, activating object group.

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.

IQANdesign User manual 263


Object groups
8 Functions using object list

t
Activating objects in an activating object group

Blocking object group


t

Function value

Latching And method.

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.

When used in an increasing or decreasing object group, the object group


value has to become true to increase/decrease the channel’s value.
T1, T2 > two times cycle time

T1 T2
Increasing object A

Increasing object B

Counter’s output value

An event counter with two increasing objects.

IQANdesign User manual 264


Object groups
8 Functions using object list

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

Blocking object group


t

Function value

Latching Or method.

IQANdesign User manual 265


Objects
8 Functions using object list

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)

IQANdesign User manual 266


Objects
8 Functions using object list

Out 2

Out 1
In 1 In 2

Vector object.

A vector object is defined by an input value and two breakpoints. Between


the two breakpoints there is a linear function based upon the input signal.
EXAMPLE
If you have a lever that controls the telescope, you may want to have 10%
deadband to get a more stabilized signal from the lever.
Use two vector objects:
Input = Lever telescope 10%->0%, 100%->100% (positive direction)
Input = Lever telescope -10%->0%, -100%->-100% (negative direction).

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.

Multi vector object


The multi vector object is a function defined by two or more points and an
input value. When using only two points it equals the vector object. The main
purpose of the multi vector object is to simplify the creation of broken curves
by allowing you to add more than two points.
The points must be ordered sequentially starting with the lowest In value and
ending with the highest.

IQANdesign User manual 267


Objects
8 Functions using object list

Out 3

Out 2

Out 4

Out 1

In 1 In 2 In 3 In 4

Multi vector object.

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

= True if "Operand 1" equals "Operand 2", otherwise


Equality False.

<> False if "Operand 1" equals "Operand 2", otherwise


Inequality True.

< True if "Operand 1" is less than "Operand 2", otherwise


Less than False.

> True if "Operand 1" is greater than "Operand 2",


Greater than otherwise False.

<= True if "Operand 1" is less than or equal to "Operand


Less than or equal to 2", otherwise False.

>= True if "Operand 1" is greater than or equal to


Greater than or equal to "Operand 2", otherwise False.

Inside "Operand 2" < "Operand 1" < "Operand 3".


Inside range True if "Operand 1" is inside the range
"Operand 2" - "Operand 3", otherwise False.
If "Operand 2" is greater than "Operand 3" they are
swapped before condition is evaluated.

IQANdesign User manual 268


Objects
8 Functions using object list

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

+ Calculates "Operand 1" + "Operand 2".


Addition

- Calculates "Operand 1" - "Operand 2".


Subtraction

* Calculates "Operand 1" · "Operand 2".


Multiplication.

/ Calculates "Operand 1" / "Operand 2".


Division. Example: 7 / 2 = 3.5

div Calculates "Operand 1" div "Operand 2". Example: 7


Integer division div 2 = 3

mod Calculates "Operand 1" mod "Operand 2". Example: 7


Remainder mod 2 = 1

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

not not(False) = True and not(True) = False


Boolean negation

and False and False = False


Boolean conjunction. False and True = False
True and False = False
True and True = True

IQANdesign User manual 269


Objects
8 Functions using object list

or False or False = False


Boolean disjunction False or True = True
True or False = True
True or True = True

xor False xor False = False


Boolean exclusive False xor True = True
disjunction. True xor False = True
True xor True = False

Trigonometric
Operand resolution for trigonometric operators is at least 0.1°. Result resolu-
tion is at least 3 decimals.

sin Sine of the angle, "Operand 1"


Angle must be n·(0 - 360°).

cos Cosine of the angle, "Operand 1"


Angle must be n·(0 - 360°).

asin Inverse sine of "Operand 1".

acos Inverse cosine of "Operand 1".

tan Tangent of "Operand 1"


tan(X) = sin(X) / cos(X).

atan Arctangent of "Operand 1".

Logical (bitwise)

bnot Bitwise negation.

band Bitwise and.

bor Bitwise or.

bxor Bitwise xor.

shl Bitwise shift left. "Operand 1" is shifted "Operand 2"


steps to the left.

shr Bitwise shift right. "Operand 1" is shifted "Operand 2"


steps to the right using arithmetic shift.

Other

Abs Absolute value of "Operand 1".


Example: Abs(-27) = 27, Abs(104.2) = 104.2

IQANdesign User manual 270


Objects
8 Functions using object list

MaxOf Largest value of "Operand 1" and "Operand 2".

MinOf Smallest value of "Operand 1" and "Operand 2"

MaxOfAbs Largest signed value of Abs("Operand 1") and


Abs("Operand 2").
If Abs("Operand 1") equals Abs("Operand 2") and one
is positive and the other negative, the result will be the
positive value.
Example: "Operand 1" = -25, "Operand 2" = 15, Result
is -25.

MinOfAbs Smallest signed value of Abs("Operand 1") and


Abs("Operand 2").
If Abs("Operand 1") equals Abs("Operand 2") and one
is positive and the other negative, the result will be the
positive value.
Example: "Operand 1" = 5, "Operand 2" = -40, Result
is 5.

Sqrt Square root of "Operand 1".

Power Raises base to any power.


"Operand 1" is base and "Operand 2" is exponent.

Ln Natural logarithm (Ln(e) = 1) of "Operand 1".

Round Rounds "Operand 1" to the nearest integer (whole


number). If "Operand 1" is exactly halfway between
two whole numbers, the result is always the even
number.
This method of rounding is often called "Banker’s
Rounding".
Example: Round(1.04) = 1, Round(1.5) = 2,
Round(2.5) = 2.

*% Percent multiplication. Calculates "Operand 1" *


"Operand 2". Both operands are expected to be in
percent and the result will also be in percent.
Example: Operand values 70% and 50% gives the
result 35%.

f´ Derivative. Calculates the derivative of "Operand 1".


Step size (t1 - t2) is always the system cycle time. The
resulting unit is ["Unit of Operand 1"/s].
Example: The derivative of a distance [m] is the speed
of which it changes [m/s].

IQANdesign User manual 271


Objects
8 Functions using object list

∫ Integral. Calculates the integral of "Operand 1". Step


size (t1 - t2) is always the system cycle time. The unit
of "Operand 1" is expected to be [/s].
Example: The integral of a speed [m/s] is the travelled
distance [m].

Flank Flank detect. Detects rising or falling flanks on digital


signals. Generates a pulse when flank is detected
(value turns True for one cycle).

Positive flank Positive flank detect. Detects rising flanks on Boolean


signals. Generates a pulse when flank is detected
(value turns True for one cycle).

Negative flank Negative flank detect. Detects falling flanks on


Boolean signals. Generates a pulse when flank is
detected (value turns True for one cycle).

Random Generates a random number between 0 and the


"Operand 1" - 1. Example: "Operand 1" equals 10
gives a random number 0-9.

Status

Status = True if the status of "Operand 1" equals "Operand 2",


Equality otherwise False.

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.

IQANdesign User manual 272


9 Measure groups

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.

IQANdesign User manual 273


Measure groups
9 Measure groups

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.

Measure features in the display’s menu system.

Add a new measure group


Open the project manager and select the Measure groups node. Then click the
Add button to add a new measure group. Change the properties for the new
measure group in the property inspector.

Properties

Visible Select Yes to make this measure group visible on a


display module or in IQANrun. Select No to make this
group visible only in IQANdesign.
Select a digital value channel to control visibility at run
time.

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.

IQANdesign User manual 274


Measure groups
9 Measure groups

X-axis item Select a measure item to use as the X axis in X/Y


measure mode. Select Not used to use the regular time
axis.
Observe that the property concerns the whole measure
group.

Add channels or measure items to a measure group


Use drag and drop to add channels to the measure groups. Select the channels
in the application editor or in the channel list and then drag the channel to the
particular measure group in the project manager. You can also drag function
groups. All channels in the function group will be added to the measure
group.
It is possible to add the same channel to several measure groups.

Measure groups in master module display


When you have downloaded the project file, the visible measure groups will
appear in the measure menu on a display module.

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.

IQANdesign User manual 275


Measure in IQANdesign
9 Measure groups

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.

Measure view in IQANdesign.

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>.

IQANdesign User manual 276


Measure in IQANdesign
9 Measure groups

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.

Measure group options.

IQANdesign User manual 277


Measure in IQANdesign
9 Measure groups

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.

Max update rate


This is the maximum display update rate. If your computer is slow or you are
measuring a lot of channels the display can have problems to show all values
in real time. Then it can be useful to decrease this value. The value does only
affect the display updating while measuring, all values are still stored for each
system sample.

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.

IQANdesign User manual 278


Measure in IQANdesign
9 Measure groups

Measure item properties


When you have added a channel to a measure group, it becomes a measure
item. By default, the measure item gets the same name as its channel. You can
choose a different name if you like. Each item’s properties will be shown in
the property inspector to the right. Select a measure item in the item list.

Properties

Name Enter a name to identify this application component.

Channel The channel that this measure item measures.


It is possible to change the channel for this item.

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.

Color Select the color you want to use when measuring


graphically.

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.

Measure in other views


It is possible to measure in other views than the measure group view. You can
measure all channels in a function group view or in a module block diagram.
Measure is started and stopped in the same way as when measuring a measure
group, see section Start/Stop measure on page 276.
Each channel will be presented with value and status. Status type is also indi-
cated by a lamp with one of four colors.

Gray Info

Green OK

Yellow Warning

Red Error

IQANdesign User manual 279


Measure in IQANdesign
9 Measure groups

For more information, see section Value and status on page 111.

Measure in function group view.

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.

IQANdesign User manual 280


Statistics
9 Measure groups

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.

Position the cursors


The cursors are two vertical lines which can be positioned along the X-axis.
You move each cursor by dragging it. Drag each cursor to the desired
position.
You can move both the cursor lines at the same time by holding down
<Shift> while you move one of the cursors. Also, you can move the cursor
back to the default position by clicking on it while holding down <Ctrl>.

Locking the cursors


The cursors can be locked in their positions. Right-click in the graph and
select Lock left cursor or Lock right cursor.

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

Value 1 The item’s value at the left cursor’s position.

Value 2 The item’s value at the right cursor’s position.

Min The item’s lowest value between the two cursors.

Max The item’s highest value between the two cursors.

Peak to Peak The difference between Max and Min described above.

Mean Mean value between the cursors.

True RMS Mean value between the two cursors. Calculation


carried out as per true RMS.

T1 Left cursor position at the X-axis.


(time measurement)

IQANdesign User manual 281


Statistics
9 Measure groups

T2 Right cursor position at the X-axis.


(time measurement)

T2-T1 Time between the two cursors.

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.

IQANdesign User manual 282


Zooming
9 Measure groups

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 in time or X-axis only


Position the both the cursors on either side of the area to be zoomed. Right
click in the graph and select, View range between cursors. Another way of
doing this is to zoom in as described in the section above while holding
<Shift> down.

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>.

Scroll in X and Y directions


There are two scroll bars to move the graph and curves in either horizontal or
vertical.

Move a curve along the Y-axis


If the curves are positioned onto one other, you can move the active curve in
the Y (up/down) direction. Use the vertical scroll bar on the right of the graph
to move the curve of the selected measure item.
To move all curves at the same time, select the measure group in the project
manager and use the vertical scroll bar.

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.

IQANdesign User manual 283


Multimeter
9 Measure groups

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.

Adding channels and measure items


To add channels or measure items to the multimeter you simply drag and
drop from IQANdesign's main window. You can drag items from Application
logic or from the Diagnostics measure groups section. It is also possible to
right-click on the channel or measure item you want to add and select Add to
multimeter from the popup menu.

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.

IQANdesign User manual 285


10 Adjust groups

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.

IQANdesign User manual 286


Adjustable channel types
10 Adjust groups

Adjustable channel types


Some channel types have parameters that can be adjusted without having to
load a new application. The following channels and parameters are adjust-
able:

Voltage in Min [mV]


Max [mV]

PWM in Min [‰]


Max [‰]

Current out Min current [mA]


Max current [mA]
Start slope [ms]
Stop slope [ms]

PWM out Min MR [%]


Max MR [%]
Start slope [ms]
Stop slope [ms]

Servo out Min [mV]


Max [mV]

Function parameter Value

Integer parameter Value

Digital parameter Value

To be able to adjust a channel parameter from a display module or IQANrun,


the channel has to be added to an adjust group.

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.

IQANdesign User manual 288


Stored channel types
10 Adjust groups

Stored channel types


Stored channel types store their value to preserve it during power-off. The
stored value can also be adjusted through adjust groups. The difference from
adjustable channel types is that stored channels don’t have any factory default
value to reset to. Instead, it will use the application default value from the
application file when reset. The table below shows which stored channel
types can be adjusted and which value they use for reset. For more informa-
tion, see each channel type.

State parameter Default state (0)

Text parameter Value of property Text

Event counter Value of property Reset value

Memorizing Value of property Reset value

Timer Value of property Reset value

PIN code Not possible to reset

SMS in Value of property Default value

Virtual digital in False

Pulse count Value of property Reset value

Directional pulse count Value of property Reset value

To be able to adjust a stored channel from a display module or IQANrun, the


channel has to be a member of an adjust group.

IQANdesign User manual 289


Adjust items
10 Adjust groups

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.

Single adjust item


The single adjust item is used for all channels that has one single adjustable
parameter.

IQANdesign User manual 290


Adjust items
10 Adjust groups

Properties

Channel The channel that this adjust item adjusts. This property
cannot be edited.

Visible Select Yes to make this item visible from a display


module or IQANrun, or select a digital value channel
to control visibility at run time.

Enable Enables or disables this adjust item. When an adjust


item is disabled it is visible but not adjustable.

Dual adjust item


The dual adjust item is used for voltage input, PWM input and servo out chan-
nels. It has two parameters and a property to enable automatic adjustment of
voltage inputs.

Properties

Channel The channel that this adjust item adjusts. This property
cannot be edited.

Visible Select Yes to make this item visible from a display


module or IQANrun, or select a digital value channel
to control visibility at run time.

Enable Enables or disables this adjust item. When an adjust


item is disabled it is visible but not adjustable.

Adjust type Select how the parameter is adjusted in IQANrun. If


adjust type is set to manual the min and max parameter
are adjusted manually. If set to auto the minimum and
maximum values are detected automatically while
adjusting, which means they will be the smallest/
largest measured value during adjustment in IQANrun.

Quad adjust item


The quad adjust item is used for current output and PWM output channels and
has four parameters. For bidirectional channels it has four parameters for
each direction.

Properties

Channel The channel that this adjust item adjusts. This property
cannot be edited.

Visible Select Yes to make this item visible from a display


module or IQANrun, or select a digital value channel
to control visibility at run time.

IQANdesign User manual 291


Adjust items
10 Adjust groups

Enable Enables or disables this adjust item. When an adjust


item is disabled it is visible but not adjustable.

Positive direction Enter a text to describe the positive direction, for


example “Up”, “Right” or “Clockwise”.

Negative direction Enter a text to describe the negative direction, for


example “Down”, “Left” or “Counter-clockwise”.

Auto select If enabled, this adjust item will be automatically


selected when its channel value isn’t zero and the user
is in adjustment mode, viewing an adjust group
containing this adjust item.

IQANdesign User manual 292


Adjust parameters
10 Adjust groups

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

Unit The unit for the parameter value. This property is


automatically set depending on the channel’s unit and
cannot be edited.

Min Minimum value allowed for this parameter. This is the


lowest value an operator can adjust this parameter to.
If you set min and max limit for a parameter to the
same value, the parameter will not be adjustable.
Make sure that the limits defines a safe range for the
parameter.

Max Maximum value allowed for this parameter. This is the


highest value an operator can adjust this parameter to.
If you set min and max limit for a parameter to the
same value, the parameter will not be adjustable.
Make sure that the limits defines a safe range for the
parameter.

Step size Specify the minimum increase/decrease of the


parameter value when it is adjusted, e.g. when pressing
an up/down button or turning an encoder one step
clockwise/counter-clockwise.

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.

IQANdesign User manual 293


Adjust parameters
10 Adjust groups

Properties

Unit The unit for the parameter value. This property is


automatically set depending on the channel’s unit and
cannot be edited.

Min Minimum value allowed for this parameter. This is the


lowest value an operator can adjust this parameter to.
If you set min and max limit for a parameter to the
same value, the parameter will not be adjustable.
Make sure that the limits defines a safe range for the
parameter.

Max Maximum value allowed for this parameter. This is the


highest value an operator can adjust this parameter to.
If you set min and max limit for a parameter to the
same value, the parameter will not be adjustable.
Make sure that the limits defines a safe range for the
parameter.

Step size Specify the minimum increase/decrease of the


parameter value when it is adjusted, e.g. when pressing
an up/down button or turning an encoder one step
clockwise/counter-clockwise.

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.

Max length Maximum length allowed for the text parameter.


The length is specified in bytes, not characters. For
languages using only the ASCII character set one
character equals one byte, but for other languages one
character may equal two, three or four bytes. If you
intend to allow non-ASCII characters, please increase
max length accordingly. For more details, search for
information on UTF-8.

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.

IQANdesign User manual 294


Adjust parameters
10 Adjust groups

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.

PIN code parameter


The PIN code parameter is used to store the value of a pin code parameter
channel. The PIN code consists of 4 digits. In order to adjust the PIN code
parameter the current PIN code must be entered. The PIN code parameter has
no properties.

IQANdesign User manual 295


Adjust groups
10 Adjust groups

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

Visible Select Yes to make this group visible from a display


module or IQANrun, or select a digital value channel
to control visibility at run time.

PIN code Enter a PIN code or select a PIN code channel to


protect this adjust group. A PIN code is always four
digits, for example 0472.

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.

IQANdesign User manual 296


Adjust groups
10 Adjust groups

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.

Reference channel Select a channel to use as reference when adjusting


channels in this group. The reference channel is
measured during adjustment.

Protect an adjust group


You can decide to protect an adjust group from unauthorized personnel. For
example, it should not be allowed for the drivers to adjust the Diesel engine
adjust group but the service personnel should have full access. There are two
ways to do that, either by using a PIN code or by defining access levels.

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.

IQANdesign User manual 297


Adjust groups
10 Adjust groups

The adjust menu in the display module.

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

IQANdesign User manual 298


Adjust groups
10 Adjust groups

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.

Add a new adjust group


Select the Adjust groups node in the project manager and then click the Add
button. Enter the necessary properties for that group in the property inspector.

IQANdesign User manual 299


Send project
10 Adjust groups

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.

Send project 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.

Factory default values


Select this check box to overwrite all factory default values in the master
module with the default values 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.

IQANdesign User manual 300


Get project
10 Adjust groups

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.

Get project 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.

Import adjustable values


Select this check box to copy all adjustable values from the master module to
the default values in the project. For example, the properties Min [mV] and
Max [mV] for a voltage input will be overwritten with its current adjustable
values in the master module.

IQANdesign User manual 301


Settings kept during software update
10 Adjust groups

Settings kept during software update


When making an update of application logic, the default behavior of the
IQAN system is to keep the settings, such as sensor and valve calibrations,
machine options and counters.
For the settings of a channel to match between application and settings, the
following must match during the software update:
• Project ID
• Component ID
• Number of states on the channel
When sending to the system, either as a settings or clone file, there is a check
on access level. Only channels that the logged in user has access to will be
updated.
When the application is running, there is also a run-time check on the adjust
item limits, to ensure that the values are within the limits of the application.
When making the update, the check for Project ID is done by IQANrun
before starting the download. All other checks are handled by the master
module, and are performed after the download is completed. This has the
effect that the IQANrun dialogs will not directly inform the user on all the
checks the master module may impose on the individual settings.
To clarify this, a number of different scenarios for settings updates are
described below, including the dialogs that are presented to the user.

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”.

Settings file with different ID


If one attempts to send a settings file taken from a system with a different
project ID, IQANrun will show an error message informing “No matching
modules found. Could not find any modules in the system that matches the
ones in the settings file”.

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”.

IQANdesign User manual 302


Settings kept during software update
10 Adjust groups

Settings file with fewer channels than target system


If one sends an old settings file that are missing settings for the new channels,
the new channels will be unaffected, but the system can still use the settings
with matching ID’s. Settings for matching channels will be updated.
IQANrun will inform “Settings were sent successfully”.

Project file with removed channels


If one sends a project file where channels with settings have been removed,
the settings for the now missing channels will be removed. Settings for old
matching channels remain unaffected and keep their values. IQANrun
informs “The complete system was updated successfully”.

Settings file with more channels than target system


If one sends an old settings file that contain settings from removed channels,
these settings will not be used. The system can still use the settings for the
matching channels, these will be updated. IQANrun will inform “Settings
were sent 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”.

Settings file with different number of states


If one sends an old settings file where number of states differ on a channel,
the settings file values for that channel will not be used, the channel will keep
its settings. The system will still be able to use the matching settings, and
settings for matching channels will be updated. IQANrun informs “Settings
were sent successfully”.

State order changed


The system cannot detect if the order of the states have been changed. If the
states have been reordered within the application without any other change,
the settings are kept in the original order.

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.

IQANdesign User manual 304


11 Logs

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.

IQANdesign User manual 305


Logs
11 Logs

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.

IQANdesign User manual 306


Status and system messages
11 Logs

Status and system messages


Each log has a status that indicates if it is full and in that case if the logging
has stopped or if old records are recycled.
There are also some system messages that are related to logs.

Status
The status of a log can be used in status comparisons in channels.

Status Description

OK Status OK.

Log full (recycling) Log full, recycling old log records.

Log full (stopped) Log full and logging has stopped.

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.

Severity Message header Text

Critical Log error Failed writing. The log has been stopped!

Warning Log error One log could not be created!

IQANdesign User manual 307


System log
11 Logs

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.

Event Information stored

Project changed Project name and version. Firmware version.


IQANdesign or IQANrun license number.

Machine ID changed New machine ID. IQANrun license number.

System started -

Channel alarms/errors Channel name, module/pin connection and status.

Module alarms/errors Module name and status.

CAN bus alarms/errors CAN bus name and status.

Clock changed Date and time before change.

Login/Logout User name and access level. IQANrun license number.

External log item Information added by an IQANrun user or a script.


IQANrun license number.

Log cleared IQANrun license number.

Settings changed IQANrun license number.

NOTE
Some events are not stored until the system is restarted.

Properties
These are the properties for the system log.

Visible Select Yes to make this log visible from a display


module or IQANrun, or select a digital value channel
to control visibility at run time.

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.

IQANdesign User manual 308


System log
11 Logs

PIN code Enter a PIN code or select a PIN code channel to


protect this log. The PIN code has to be entered to view
the log records. A PIN code is always four digits, for
example 0472.

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.

IQANdesign User manual 310


Event log
11 Logs

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.

Event log editor.

Properties
These are the properties for an event log.

Visible Select Yes to make this log visible from a display


module or IQANrun, or select a digital value channel
to control visibility at run time.

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.

PIN code Enter a PIN code or select a PIN code channel to


protect this log. The PIN code has to be entered to view
the log records. A PIN code is always four digits, for
example 0472.

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.

IQANdesign User manual 311


Event log
11 Logs

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.

Value log item


The value log item is used to log a value of a channel when a certain condi-
tion is fulfilled. The condition is determined by the function of the value log
item. When the value of the function changes from false to true a log record is
created with the value of the channel specified in the Log value property, and
the status specified in the Log status property.

IQANdesign User manual 312


Event log
11 Logs

Properties

Log value Select the channel which value will be logged when the
log condition is fulfilled.

Log status Select the status that you want to log.


Select Default to log the status of the channel specified
by property Log value.
Select No status when you don't want any status
logged.
Select OK (green), Warning (yellow) or Error (red) to
set the status explicitly when this item is logged.

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.

Event log item


The event log item logs an event when a certain condition is fulfilled. The
condition is determined by the function of the event log item. When the value
of the function changes from false to true a log record is created with the
name of the event log item. Optionally a status can be logged together with
the name.

Properties

Log status Select the status that you want to log.


Select No status when you don't want any status
logged.
Select OK (green), Warning (yellow) or Error (red) to
set the status explicitly when this item is logged.

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.

IQANdesign User manual 313


Statistics log
11 Logs

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.

Statistics log editor.

Add a statistics log


To add a statistics log, right-click on the application node under Logs in the
project manager and select Add Statistics Log in the popup menu, or use the
tool bar in the log list.

Properties
These are the properties for an statistics log.

Visible Select Yes to make this log visible from a display


module or IQANrun, or select a digital value channel
to control visibility at run time.

IQANdesign User manual 314


Statistics log
11 Logs

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.

PIN code Enter a PIN code or select a PIN code channel to


protect this log. The PIN code has to be entered to view
the log records. A PIN code is always four digits, for
example 0472.

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.

Counter log item


The counter log item adds a counter to the statistics log. The counter is
increased every time its function changes from false to true.

Hour counter log item


The hour counter log item evaluates its function and increases a timer as long
as the function evaluates to true.

Min and max log items


The min and max log items logs the min or max value of a channel as long as
the log item’s function evaluates to true.

IQANdesign User manual 315


Statistics log
11 Logs

Properties

Channel The min or max value of the selected channel will be


stored in the log.

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.

IQANdesign User manual 316


12 DM1 Out

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.

IQANdesign User manual 317


DM1 out container
12 DM1 Out

DM1 out container


DM1 out is a container located under the Diagnostics node in the project
manager. There is one DM1 out for each master module in the project. DM1
out is used to send active trouble codes in a diagnostic message to external
J1939 modules.
The DM1 out works as a frame for SPN out items. SPN out items are created
by dragging channels to the DM1 out node. All SPN out items whose chan-
nels have a warning or error status are added the DM1 out frame.
DM1 out is sent with 1 second interval. It uses SPN conversion method 4.
DM1 out lamp is set to amber warning when at least one SPN has an active
trouble code.

Properties

CAN bus J1939 bus where the DM1 message will be sent. Select
Not used to disable DM1 out.

SPN out items


The SPN item is used to add a channel to the DM1 out container.

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

SPN Enter the J1939 SPN number (Suspect Parameter


Number) that should be used in DM1 when an error is
detected for the input channel.

IQANdesign User manual 318


13 Telematics

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.

IQANdesign User manual 319


Configuring telematics
13 Telematics

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

Enabled Select Yes to enable this signal collection, or a channel


to enable it based on e.g. a parameter. When the signal
collection is enabled the contained signals will be sent
to the server according to the specified send method.

Send method Continuously: Use for signal collections that are to be


sent continuously. You need to specify the transmit rate
(property Transmit rate).
On trigger: Use for signal collections that are to be sent
occasionally. You need to specify a channel to trigger a
send (property Trigger).
You can also specify a minimum transmit rate
(property Transmit rate). The collection will be sent at
this interval even if its not triggered. Select Not used to
disable this function.
On change: Use to send the signal collection every
time any signal in the collection changes value.
You can also specify a minimum transmit rate
(property Transmit rate). The signal collection will be
sent at this interval even if its value is not changed.
Select Not used to disable this function.

Transmit rate Transmit rate for this signal.


Not used: can be selected when send method is On
trigger or On change, see property Send method for
more information.

Trigger Select a channel to use as a trigger to send this signal


collection. Each time the channel value changes from
False to True, the item is sent.
IQANdesign User manual 320
Configuring telematics
13 Telematics

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

Channel The channel that this signal is connected to.

Signal ID Numeric value used to identify this value when logged


to the cloud server.

Unit The unit of this value.

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.

IQANdesign User manual 321


Exporting telematics definitions
13 Telematics

Exporting telematics definitions


When the server receives the data logged by the IQAN system it needs to
translate the signal IDs back to readable names and units. The server configu-
ration required for this is simplified by exporting the telematics definitions
from the IQAN project.
Select File > Export > Telematics definitions to export the information
needed by the server. The exported file can then be uploaded to the server to
automatically configure the signals.

IQANdesign User manual 322


14 Display pages

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.

IQANdesign User manual 323


Display pages in IQANdesign
14 Display pages

Display pages in IQANdesign


A display page is used to design a page for a display module. You can have as
many pages as you like. The visibility of each page can be controlled by a
channel and/or by pressing a button on other pages.
Using a display page it is possible to display controls, such as images, texts,
lines and gauges.

A display page for the IQAN-MD4 master module with controls.

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.

Display page container properties


There are properties that are common for all display pages or affect the
behavior for a display module in a system. These can be accessed by selecting
a display page container node under User interface in the project manager.

Startup image Select the image that you want to be shown at system
startup. See also section Start up image on page 363.

IQANdesign User manual 324


Display pages in IQANdesign
14 Display pages

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.

Display orientation Select if the display will be oriented in horizontal or


vertical position.
This property is not available on all display modules.

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.

Theme colors Configure standard control colors.


This property is not available on all display modules.

External buttons Connect channels to use as external buttons, for


example digital inputs. The external buttons can be
used to acknowledge system messages and to control
the display’s menu system. They will not be able to
control interactive display page controls though, such
as on-screen buttons, sliders or switches.
Select the channels you want to control buttons
Encoder, Up, Down, Enter, Menu and Escape.

Backlight control Controls the backlight of the display. When connected


to a channel its value overrides the value set in the
display's menu system. To use the setting in the menu
system this property has to be set to Not used.

How to design a display page in IQANdesign


To add a display page for a master, select the corresponding display page con-
tainer node in the project manager and click on th Add button in the upper
right corner.

IQANdesign User manual 325


Display pages in IQANdesign
14 Display pages

Display pages list.

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.

Rearrange page order


The page order is only important if the condition for showing the pages are
true for two or more pages at the same time. The page with the highest order
number will be on the top, shown first. Then, if the hide condition for that
page becomes true, the page with lower number will be shown.

Open a display page


To work with a display page or design it, you have to open the page.
Click on the actual page in the project manager. The display page will be
shown in the editor and the page properties will be shown in the property
inspector.
The default background color is black, but that can easily be changed.

Display page properties


Show Select Always to always show this page or a channel to
control visibility in runtime. When channel value
changes from 0 or False to something else, this page is
shown.
To show this page only when a button is pressed on
another page, set this property to Not used.

IQANdesign User manual 326


Display pages in IQANdesign
14 Display pages

Hide Select a channel to control when to hide this page in


runtime. When channel value changes from 0 or False
to something else, this page is hidden.
Select Not used if you don’t want to hide this page.
This property has no effect unless property Show is
used.

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.

Color Select a background color for this page.


Select Custom... if you want to choose a color that is
not in the list.
If a base page is selected its background color will not
affect the background color on the actual page. The
color is unique for every page.

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.

Show and hide pages


You must specify when the page shall be shown and when it shall be hidden.
The condition must be true and the page will be shown or hidden on the rising
edge.
The alternative Always means that the page is visible whenever no other page
is shown.
You can use a channel to control visibility during operation. As soon as the
channel becomes true, the page will be shown or hidden respectively.
It is also possible to show this page when a display button is pressed on
another page. To do that, Set Show to Not used on this page, open the other
page and select, Go to display page X, as the button property. (X is the page
you want to go to).

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.

IQANdesign User manual 328


Properties for all display modules
14 Display pages

Properties for all display modules


There are some main designing properties that concern all display modules
including display pages, the menu system and the dialog boxes. Dialog boxes
are used to display system or user generated messages (IMSG, CMSG).
The below described properties will be shown if you select User Interface in
the project manager.

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.

Localization The localization properties are used to adapt the


display information, such as dialog boxes, menu
system and application information to several
languages and places. The time and date format can be
changed.

System info Add items to be displayed on the system info page of


the master. Each item can be a channel or a text and is
displayed on a separate row. Empty rows can be
inserted by adding an item with an empty text. The
items can be reordered by drag and drop in the property
inspector.

System dialog boxes


Deactivation Select Yes to hide a system generated dialog box when
the alarm/error disappears, or a channel to control
deactivation in runtime. Select No to force the user to
acknowledge every system dialog box manually.
Channel control is only allowed in single master
systems.

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.

IQANdesign User manual 329


Properties for all display modules
14 Display pages

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

Name Specify a name for this color.

Color Select a color.

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

Date format y = year, M = month, d = day


y, M, d = no leading zero
yy, MM, dd = leading zero
yyyy = 4 digit year
MMM, ddd = short name (Jan, Mon)
MMMM, dddd = long name (January, Monday)
Example: dd/MMM/yy = 02/Nov/03
See also property Calendar below.

Dialog boxes Captions for dialog boxes (CMSG, IMSG, etc.).

Menu system All texts used in the menu system.

Status messages Error, warning and information messages.

Calendar Weekday and month names.

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.

IQANdesign User manual 330


Properties for all display modules
14 Display pages

Caption

Dialog box, error.

Properties

Captions Define other captions than the default, or define


captions in multiple languages.

Buttons Define other button texts than the default, or define


button texts in multiple languages.

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.

IQANdesign User manual 331


Display controls
14 Display pages

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.

Width Specify the width of this line in pixels.

Color Select a color.

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.

Top Enter a pixel value to position this control on the X and


Horizontal position Y axis. The window’s upper left corner is defined as
top=0 and left=0.
The Alignment property decides the text control’s
reference position.

Width Specify a fixed width in pixels, or select Automatic to


let the width be calculated automatically at runtime.
The Alignment property decides the text control’s
reference position.

IQANdesign User manual 332


Display controls
14 Display pages

Alignment Specify alignment of this control, left, right or center.


The alignment will correspond to the Horizontal
position value.

Text Enter the text that you want displayed.

Font > Size Select a font size.

Font > Bold Select Yes to use a bold font.

Font > Color Select a font color.

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.

Top Enter a pixel value to position this control on the X and


Horizontal position Y axis. The window’s upper left corner is defined as
top=0 and left=0.
The Alignment property decides the text control’s
reference position.

Width Specify a fixed width in pixels, or select Automatic to


let the width be calculated automatically at runtime.
The Alignment property decides the text control’s
reference position.

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.

IQANdesign User manual 333


Display controls
14 Display pages

Show Specify what type of information to show. You can


select Value, Name, Unit, Value and unit, Name and
unit or Name and value. Example: Channel is called
"Temperature" with unit "°C" and value 25.2. Name
and unit will show "Temperature [°C]", Value will
show "25.2", etc.

Format Specify how you want the value formatted: Decimal,


Hexadecimal or Binary. Only useful when Input
channel is an integer value channel and property Show
contains Value. For hexadecimal and binary, also
define property Number of digits. Hexadecimal
numbers are prefixed with 0x.

Alignment Specify alignment of this control, left, right or center.


The alignment will correspond to the Horizontal
position 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.

Font > Size Select a font size.

Font > Bold Select Yes to use a bold font.

Font > Color Select a font color.

Linear bar
This control is used to display a linear bar graph, for example fuel level.
Border

Background

Bar

Bar graph 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.

IQANdesign User manual 334


Display controls
14 Display pages

Top Enter a pixel value to position this control on the Y and


Left X axis. The window’s upper left corner is defined as
top=0 and left=0.

Input channel Select the channel that controls the value of this
control.

Width Specify the width and height of the bar in pixels.


Height These properties are only available on MD3 display
pages.

Bar length Specify the length and width of the bar in pixels.
Bar width These properties are available on all other display
modules.

Pitch The pitch specifies the number of pixels to offset the


middle of the bar in order to create a curved look.
This property is not available on all 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.

Border > Color Select a color for the border.

Orientation Specify horizontal or vertical.

Circular bar
This control is used to display a circular bar graph, typically for temperatures,
levels, etc.

Circular bar.

IQANdesign User manual 335


Display controls
14 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.

Top Enter a pixel value to position this control on the Y and


Left X axis. The window’s upper left corner is defined as
top=0 and left=0.

Input channel Select the channel that controls the value of this
control.

Clockwise Specify direction of rotation, clockwise or counter-


clockwise.

Radius Specify the radius of the full circle in pixels.

Range > The needle angles that corresponds to minimum and


Start angle maximum values of this bar graph. The angles are
Stop angle specified in degrees. 0° equals east, 90° equals north,
180° equals west, etc.

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.

Bar > Background color Select a background color.

Bar > Bar color Select a bar color.

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.

IQANdesign User manual 336


Display controls
14 Display pages

Top Enter a pixel value to position this control on the Y and


Left X axis. The window’s upper left corner is defined as
top=0 and left=0.

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.

Window To show the foreground image in a sliding window on


top of the background image, set the size of the
window here. To show it as a growing bar, set this
property to "Not used".

Orientation Specify horizontal or vertical.

Background image Select the images that you want to use as background
Foreground image and foreground.

Background image Image bar graph at 75%

Foreground image Image bar graph at 75%


with window size 15

Horizontal image bar graph.

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.

IQANdesign User manual 337


Display controls
14 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.

Top Enter a pixel value to position this control on the Y and


Left X axis. The window’s upper left corner is defined as
top=0 and left=0.

Input channel Select the channel that controls the value of this
control.

Clockwise Specify direction of rotation, clockwise or counter-


clockwise.

Radius Specify the radius of the full circle in pixels.

Range > The needle angles that corresponds to minimum and


Min angle maximum values of this gauge. The angles are
Max angle specified in degrees. 0° equals east, 90° equals north,
180° equals west, etc.

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 > Tick count Specify the number of tickmarks.

Range > Show labels Specify if labels should be shown for the tickmarks.

Scale color Select a color.

Needle > Color Select a color for the needle.

Needle > Length Needle length is specified in pixels.

Needle > Base width Needle base width is specified in pixels.

Needle > Tip width Needle tip width is specified in pixels.

Anchor > Color Select a color for the anchor.

Anchor > Width Anchor width is specified in pixels.

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.

IQANdesign User manual 338


Display controls
14 Display pages

Needle

Anchor

Dial

Image 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.

Top Enter a pixel value to position this control on the Y and


Left X axis. The window’s upper left corner is defined as
top=0 and left=0.

Input channel Select the channel that controls the value of this
control.

Clockwise Specify direction of rotation, clockwise or counter-


clockwise.

Range > The needle angles that corresponds to minimum and


Min angle maximum values of this gauge. The angles are
Max angle specified in degrees. 0° equals east, 90° equals north,
180° equals west, etc.

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.

Needle > Color Select a color for the needle.

Needle > Length Needle length is specified in pixels.

Needle > Base width Needle base width is specified in pixels.

Needle > Tip width Needle tip width is specified in pixels.

Anchor > Anchor position (needle endpoint) on the X and Y axis.


Center position, X The image upper left corner is defined as top= 0, left =
Center position Y 0.

Anchor > Color Select a color for the anchor.

Anchor > Width Anchor width is specified in pixels.

IQANdesign User manual 339


Display controls
14 Display pages

Dial image Select the image that you want to use as dial
(background).

Background image for a gauge dial.

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.

Top Enter a pixel value to position this control on the Y and


Left X axis. The window’s upper left corner is defined as
top=0 and left=0. To control position in run-time, select
a channel instead.

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.

IQANdesign User manual 340


Display controls
14 Display pages

Image selector Select a state channel to use as image selector. One


image property for each state will be added to this
control. The image to be used is decided by the value
of the state channel.

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)

Indication of low battery.

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.

Top Enter a pixel value to position this control on the Y and


Left X axis. The window’s upper left corner is defined as
top=0 and left=0.

Input channel Select the channel that controls the value.

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.

IQANdesign User manual 341


Display controls
14 Display pages

The line graph used to visualize the value of a 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.

Top Enter a pixel value to position this control on the Y and


Left X axis. The window’s upper left corner is defined as
top=0 and left=0.

Width Specify the width and height of the graph in pixels.


Height

Type Select sweep to paint new values from left to right


without scrolling historical values. When reaching the
right side the painting restarts from left.
Select scroll to always paint new values furthest to the
right while scrolling historical values to the left.
This property is not available when using an array
channel as input.

Show background Show background color and border. Select no to make


the background transparent.

Background color Select a background color.

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.

IQANdesign User manual 342


Display controls
14 Display pages

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.

Y axis > Min value Min value for the Y axis.

Y axis > Max value Max value for the Y axis.

Graph color Color of the graph.

Grid color Color of the grid.

Bar graph
This control is used to draw a bar graph of the values in an array channel.

The bar graph used to visualize the value of 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.

Top Enter a pixel value to position this control on the Y and


Left X axis. The window’s upper left corner is defined as
top=0 and left=0.

IQANdesign User manual 343


Display controls
14 Display pages

Width Specify the width and height of the graph in pixels.


Height

Show background Show background color and border. Select no to make


the background transparent.

Background color Select a background color.

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 > Min value Min value for the Y axis.

Y axis > Max value Max value for the Y 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.

Graph color Color of the graph.

Grid color Color of the grid.

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.

Top Enter a pixel value to position this control on the Y and


Left X axis. The window’s upper left corner is defined as
top=0 and left=0.

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.

Orientation Specify horizontal or vertical.

Background image Select the images that you want to use as background
Needle image and needle.

Background image Slider at 75%

Needle image

Horizontal linear gauge.

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.

Top Enter a pixel value to position this control on the Y and


Left X axis. The window’s upper left corner is defined as
top=0 and left=0.

Width Specify the width and height of the video in pixels.


Height When using an IQAN-SV camera the size is controlled
with the Dimensions property.

Camera Select the camera that should be displayed in this


control.

Dimensions Select one of the dimensions supported by selected


camera. The video control will automatically resize to
the selected dimension. Only available for the IQAN-
SV camera.

IQANdesign User manual 345


Display controls
14 Display pages

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.

Top Enter a pixel value to position this control on the Y and


Left X axis. The window’s upper left corner is defined as
top=0 and left=0.

Enabled Select Yes to make the button enabled always, or select


a channel to control it dynamically in run-time.

Size Specifies the height of the button, Small or Large.

Width Specify the width of the button in pixels.

Text Enter the text that you want displayed on the button.

Action Select action to perform when this button is pressed.


No action - disables this button.
Close page - closes the page.
Enter menu system - goes to the main page of the menu
system.
Measure group, adjust group, adjust item or log - goes
to corresponding page in the menu system.
Virtual digital in channel - controls the channel value.
Display page - goes to that page.
PDF document - Shows the selected document in the
PDF viewer.

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.

Top Enter a pixel value to position this control on the Y and


Left X axis. The window’s upper left corner is defined as
top=0 and left=0.

IQANdesign User manual 346


Display controls
14 Display pages

Enabled Select Yes to make the button enabled always, or select


a channel to control it dynamically in run-time.

Size Specifies the height of the button, Small or Large.

Symbol Select the symbol for this button control.


Note: The symbol should be a transparent image
without any color information (all black). Color will be
applied to the symbol depending on button state and
theme color settings (see section Display page
container properties on page 324).

Action Select action to perform when this button is pressed.


No action - disables this button.
Close page - closes the page.
Enter menu system - goes to the main page of the menu
system.
Measure group, adjust group, adjust item or log - goes
to corresponding page in the menu system.
Virtual digital in channel - controls the channel value.
Display page - goes to that page.
PDF document - Shows the selected document in the
PDF viewer.

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.

Top Enter a pixel value to position this control on the Y and


Left X axis. The window’s upper left corner is defined as
top=0 and left=0.

Enabled Select Yes to make the button enabled always, or select


a channel to control it dynamically in run-time.

Images > Up/Down/ Button images for button states up, down and disabled.
Disabled

IQANdesign User manual 347


Display controls
14 Display pages

Action Select action to perform when this button is pressed.


No action - disables this button.
Close page - closes the page.
Enter menu system - goes to the main page of the menu
system.
Measure group, adjust group, adjust item or log - goes
to corresponding page in the menu system.
Virtual digital in channel - controls the channel value.
Display page - goes to that page.
PDF document - Shows the selected document in the
PDF viewer.

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.

Top Enter a pixel value to position this control on the Y and


Left X axis. The window’s upper left corner is defined as
top=0 and left=0.

Width Specify the width of the switch in pixels.

Input Select the adjust item that corresponds to the value of


this control.
Note: Any possible protection (access level or PIN
code) for the selected adjust item is overridden when
connected to this control.

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.

IQANdesign User manual 348


Display controls
14 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.

Top Enter a pixel value to position this control on the Y and


Left X axis. The window’s upper left corner is defined as
top=0 and left=0.

Length Specify the length of the slider in pixels.

Orientation Specify horizontal or vertical.

Input Select the adjust item that corresponds to the value of


this control.
Note: Any possible protection (access level or PIN
code) for the selected adjust item is overridden when
connected to this control.

Show limits Determines if min and max limits are shown.

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.

Top Enter a pixel value to position this control on the Y and


Left X axis. The window’s upper left corner is defined as
top=0 and left=0.

Width Specify the width of the state picker in pixels.

Input Select the adjust item that corresponds to the value of


this control.
Note: Any possible protection (access level or PIN
code) for the selected adjust item is overridden when
connected to this control.

IQANdesign User manual 349


Design tools
14 Display pages

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.

Display page editor, MD4-7.

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.

IQANdesign User manual 350


Design tools
14 Display pages

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.

Snap to other controls


MD3 - While dragging a control, press <Ctrl>. The dragged control will now
snap to other controls on the display page. Open IQANdesign options, Dis-
play pages tab, and select your drag alignment preference.
Other display modules - Click the Snap button in the left side tool bar to turn
snap on or off. When snap is on, controls will snap to other controls’ edges
while being dragged.

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.

Vertical and Horizontal alignment tools


You can rearrange the controls by aligning them. Start by selecting the con-
trols you want to align. Then align the controls in a vertical line by selecting
one of the Left, Center or Right aligning tool buttons. And you can align the

IQANdesign User manual 351


Design tools
14 Display pages

controls in a horizontal line by selecting one of the Top, Center or Bottom


align tool buttons.
To select the display controls that you want to align, press the <Ctrl>-button
and click on the controls.

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.

Horizontal and vertical distribution


You can move controls and distribute them so they have an equal amount of
space between them. You can distribute the controls horizontally or verti-
cally.
Select the controls and then select the distribution direction you want, hori-
zontally or vertically.

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.

Top Enter a pixel value to position this control on the Y and


Left X axis. The window’s upper left corner is defined as
top=0 and left=0.

Changing the top and left properties (or dragging the group) will move all
controls within the group and keep their relative positions intact.

IQANdesign User manual 352


Design tools
14 Display pages

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.

IQANdesign User manual 353


Physical display buttons
14 Display pages

Physical display buttons


Some display modules have physical buttons placed around the display that
can be used to show another page, activate a function or an adjust page etc.

Button layout for an IQAN-MD3.

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

Enabled The button has to be enabled if you want to use it.

IQANdesign User manual 354


Physical display buttons
14 Display pages

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 selector Select a state channel to use as action selector. One


action property for each state will be added to this
button. The action to be used is decided by the value of
the state channel.

Default action Select action to perform when this button is pressed.


No action - disables this button.
Close page - closes the current page.
Measure group, adjust group, adjust item or log - goes
to corresponding page in the menu system. For adjust
items, see also property Adjust display.
Virtual digital in channel - controls the channel value.
Display page - goes to that page.

Action 1, 2, ... One action property per state is created when property
Action selector is used. Same function as property
Default action.

Use a virtual digital channel to control a function in the application


There is a channel type called Virtual digital in, VDIN. This channel type will
represent the display button in the application file.
To connect a display button to a VDIN, set the Enabled property to Yes for
the actual button and select the Virtual digital in channel as the Action prop-
erty.
When the display page is visible and the button is pressed, the connected
VDIN channel will reflect the button value. See section Virtual digital in
(VDIN) on page 187 for more information.

IQANdesign User manual 355


Physical display buttons
14 Display pages

Menu button properties

Enabled The button has to be enabled if you want to use it on


this display page.
Select No to disable the menu button on this page.

Escape button properties

Enabled The button has to be enabled if you want to use it on


this display page.

Action selector Select a state channel to use as action selector. One


action property for each state will be added to this
button. The action to be used is decided by the value of
the state channel.

Default action Select action to perform when this button is pressed.


No action - disables this button.
Close page - closes the current page.
Virtual digital in channel - controls the channel value.
Display page - goes to that page.

Action 1, 2, ... One action property per state is created when property
Action selector is used. Same function as property
Default action.

Up/Down/Enter button properties

Enabled The button has to be enabled if you want to use it on


this display page.

Adjust display See page 355.

Action selector Select a state channel to use as action selector. One


action property for each state will be added to this
button. The action to be used is decided by the value of
the state channel.

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.

IQANdesign User manual 356


Physical display buttons
14 Display pages

Select to adjust an item or value with the up/down buttons


To make it easier to adjust a channel value in the master it can be a good idea
to have a shortcut to that channel’s value instead of using the normal path via
the menu system. This can be very useful if you want to adjust a value often.
To be able to select an adjust item in the channel list, you need to first create
an adjust item for the channel. For further information, see section Adjust
groups on page 296.

Button positions, IQAN-MD3


The table below specifies the pixel position of each button center for an
IQAN-MD3 module. Position 0 is left-most respective top-most pixel on the
display.

Pixel positions

F1 35

F2 120

F3 205

F4 290

Up 60

Enter 120

Down 180

IQANdesign User manual 357


Gradients
14 Display pages

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

Direction Direction of the gradient. The direction is specified in


degrees. 0° equals east, 90° equals north, 180° equals
west, etc.
Select Default to use the default direction as defined by
each control type.

Start color (0%) Start gradient color.

Color stops Arbitrary number of color stops between 0-100%.

Color stops > Stop 1, 2, ... Color and position for each color stop.
> Color/Position

End color (100%) End gradient color.

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.

IQANdesign User manual 358


Gradients
14 Display pages

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%.

IQANdesign User manual 359


Images and Image groups
14 Display pages

Images and Image groups


Images are used by some display page controls, for example lamps, gauges or
symbol buttons. They can also be used as start up images on display modules.
Images are stored in image groups in the project. The purpose of an image
group is to help create a better overview of all images in the project file.
You need to add one or more image groups before you can add any images to
the project.

Image group.

Create an image group


To be able to apply the images to the display controls, you have to add the
images to the project file. The first thing you have to do is to create the image
groups that will contain all the images.
• Select Images in the project manager and click Add in the upper right cor-
ner. Enter the properties, such as image group name etc., in the property
inspector.
When you have added or created an image group it is possible to add images
to that group. A good idea is to have several image groups with different pur-
poses instead of one large group that contains all the images. For example,
one image group for all the symbol images and another for instrumentation
images. This will give you an better overview and make it easier to find a
specific image.

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.

Add images to an image group


When you have created an image group it is possible to add images to that
group.

IQANdesign User manual 360


Images and Image groups
14 Display pages

• 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.

Images displayed 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

Transparent Select “Yes” to make this image transparent. The top


left pixel color is used as transparent color, that is, all
pixels with that color will be transparent.
Note: This is not needed on PNG images, since they
support transparency.

IQANdesign User manual 361


Images and Image groups
14 Display pages

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.

Vector image conversion


Some images in the image library are in vector format, which means you can
scale them to whatever size you like. For single-colored images you can also
change the color. Select your options in the image conversion dialog box that
is shown.

Convert vector image.

Assigning images to controls


After importing images to your application you can assign an image to a
control. Add an image control, for example a gauge, to a display page. Select
an image to use as dial in the property inspector, property Dial image.
Some of these controls can also be assigned an image directly from the add
button. Click the arrow next to the control menu item and select an image in
the context menu that appears. In this context menu you will also find the
Image Library where applicable. Selecting images from the library directly
here will let you skip the step of adding the image to an image group first.
Instead the images will be automatically added to an image group called
"Library image group".

IQANdesign User manual 362


Start up image
14 Display pages

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.

To change the start up image


• Begin with adding the start up image to an image group.
• Select the display pages node for the master in the project manager. You
will find the Start up image as a property in the property inspector.
• Select the desired image.
If you select Not used, the Parker logo will be displayed.
The image is centered both vertically and horizontally on the screen. The
color of the top left pixel in the start up image will be used as background
color for the rest of the screen, that is, the area surrounding the start up image.
If you want another color, please add a line of pixels with your desired color
at the top of your start up image before importing it into your application.
You can see how the start up image looks in IQANsimulate or in the display
module.

IQANdesign User manual 363


PDF documents
14 Display pages

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.

Add PDF documents


Before using a PDF document on a display page it needs to be added to the
project.
• Select PDF documents in the project manager and click Add.
• Select the PDF file you want to add in the dialog box shown.
For good readability the layout of the PDF document should be adapted to the
format of the display. It might be better to design documents as presentations
instead of using the format of a traditional printed documents.

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.

IQANdesign User manual 364


Export
14 Display pages

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.

Export dialog box.

• To export only the selected components (with their content), answer No to


the export references question.
• To export referenced components also, answer Yes to the export refer-
ences question.
Click OK to continue. A save file dialog box appears. Select a folder where
you want your exported file stored and enter a file name.

Selected component(s) without references


Components with content are exported. Example: You have selected an
image group. The image group with all its contained images will be exported.

Selected component(s) with references


Same as above, but referenced components are also exported.

Function groups/Channels Function groups and channels are not exported.

Modules Modules are not exported (except the master where the
display pages are located).

Measure groups Measure groups are not exported.

Adjust groups Adjust groups are not exported.

Logs Logs are not exported.

Pages Other pages than the selected are not exported.

IQANdesign User manual 365


Export
14 Display pages

Images Images that refer to any of the above exported


components are exported.

Security Access levels are not exported.

For more information about export and import see section Export/Import on
page 236.

IQANdesign User manual 366


15 Languages

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.

IQANdesign User manual 367


Managing application languages
15 Languages

Managing application languages


The languages in the project together with the translated texts are managed
under the User Interface > Languages node of the project manager.
To add a new language, select the node Languages in the project manager and
click Add button. To delete a language, select the language and select Edit >
Delete or right-click and select Delete from the popup menu.
In the text list underneath the language list all your translated texts are shown.
Here you can enter new translations by selecting a line and clicking on the
text to translate or pressing F2 when the text to change is selected. The
selected text is also selected in the property inspector. You can sort the texts
by clicking on the headers of the list.

Language properties
These are the properties for a language component.

Name Name of this language component.

Description Description of the language.

Caption The caption is used in e.g. master menus when


selecting language. It is normally translated to the
language it represents to make it possible to find the
entry in the menu without understanding the currently
selected language.

Language code A language code (ISO 639-1) identifying this language


and optionally the country (ISO 3166-1). For example,
en-us stands for English (United states).

IQANdesign User manual 368


Managing application languages
15 Languages

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.

Include bold If a font is stated this property determines if the bold


version of the font should be included or not.
Excluding the bold characters saves memory in the
master module.
Note: This property is only used by MD3 applications.

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.

Adding multi-language texts


To add texts in different languages to for instance a channel, open the prop-
erty inspector for that channel and click the check box on the right side of the
channel’s name. Extra properties for each defined language will now appear
underneath the name property. Once a property is configured to be multi-lan-
guage it will show up in the string list under the Languages node of the proj-
ect manager.

IQANdesign User manual 369


Managing application languages
15 Languages

Property inspector, multiple languages example.

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.

IQANdesign User manual 370


Unicode
15 Languages

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).

Unicode ranges in the WGL4 Character Set

Basic Latin U+0020 - U+007F

Latin-1 Supplement U+0080 - U+00FF

Latin Extended-A U+0100 - U+017F

Greek U+0370 - U+03FF

Cyrillic U+0400 - U+04FF

IQANdesign User manual 371


Send project
15 Languages

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.

Send language option dialog.

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.

IQANdesign User manual 372


Export
15 Languages

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.

Exported channels in Excel.

IQANdesign User manual 373


Import
15 Languages

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.

Import dialog box.

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.

IQANdesign User manual 374


Font selection
15 Languages

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.

IQANdesign User manual 375


16 Security

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.

IQANdesign User manual 376


Project password
16 Security

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.

Adding password protection


To protect the project file with a password, open the project password dialog
box, Project > Passwords.

Full access password tab.

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.

IQANdesign User manual 377


Project password
16 Security

It is not possible to have a limited access password and no full access


password.

Change or remove a password


Change or remove the password by clicking on the change button. First you
have to enter the old password. Then, you may enter a new password or leave
the lines empty if you don’t want to have an application password.

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.

IQANdesign User manual 378


Password database
16 Security

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.

Name The name of the application that this password is


connected to.

Type Password type. There are two types available in


IQANdesign; Full access password and Component
password.

Comment Additional password details.

IQANdesign User manual 379


Password database
16 Security

ID The ID of the application that this password is


connected to.

Password types
There are two password types available in IQANdesign; Full access password
and Component password.

Full access password


Full access passwords are used when opening a protected file with the same
ID as the full access password. There can only be one full access password
per ID in the database. If you add the same password again, the old one will
be replaced.
IQANdesign deals with two file types that can be password protected with
full access password; project and clone files.

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.

IQANdesign User manual 380


Add password
16 Security

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.

Add password question.

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

Add safe password dialog box.

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.

IQANdesign User manual 382


Safe password
16 Security

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.

Create a safe password


There are three steps to generate a safe password.
• You need to have the user’s public key.
• The safe password is generated from the user’s public key and the original
password.
• The new safe password needs to be stored in the user’s password database.

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.

Create safe password


When you have received the Public key it is your turn. First open the applica-
tion file that you want to give the other user access to and then select Tools >
Create safe password from the menu.
Enter the public key you just received in the edit box Recipient’s public key.
Note that the software name for the public key is shown. This is the software
where the remote user can use the safe password. Select the type of safe pass-
word to generate.

IQANdesign User manual 383


Safe password
16 Security

Generate safe password.

• 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.

IQANdesign User manual 384


Safe password
16 Security

• 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.

Restrictions tab of the safe password dialog.

Click Create to create a safe password based on your selections. The safe
password is displayed in a separate dialog box, see image below.

Created safe password.

Send the safe password back to the user by clicking Send as Mail, or use
Copy to copy it to Windows clipboard.

Store the safe password in the user’s database


The safe password must be added to the database on the other user’s com-
puter. Instruct him to open the Password Manager on his computer and click
Add Safe. Enter the safe password that he received from you and select OK to
store the password in the database.
It is now possible to access the granted resource on that user’s computer with-
out entering the corresponding password.

IQANdesign User manual 385


Access levels
16 Security

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.

Add an access level


To add an access level, select the node Security in the project manager and
click the Add button.

Properties
These are the properties for an access level component.

Name Access level name, for example, “Production” or


“Service personnel”.

Description Access level description.

IQANdesign User manual 386


Users
16 Security

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.

Name User component name, for example, “Production” or


“Service”.

Description User description.

Username The username of the user.

Password The password of the user.

Tag A numeric value that will be associated with the user.


The value can be used in e.g. the system information
channel (SIC) to get the tag of currently logged on user.

IQANdesign User manual 387


Project security
16 Security

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 send settings to a


Send settings machine. Users with lower access level will not be
allowed to send settings.
This requirement to log in applies also when the
module is in safe mode.
Select Allow all to allow all users to send settings.
Note: Some settings may be protected by a higher
access level. To update these settings you must first log
in to a user with sufficient access level.

IQANdesign User manual 388


Project security
16 Security

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 > Select Always to make the headmaster connect to the


Connect to IQANconnect IQANconnect server at startup and be available for
remote diagnostics, or select a channel to connect/
disconnect at run-time.
Only applicable when the master connects to
IQANconnect directly through Ethernet. When using
IQAN-G11 and a smart phone as a modem this
property has no effect.

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.

IQANdesign User manual 389


Project security
16 Security

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.

Measure groups View access level.

Adjust groups Access level for view/adjust and set factory default
value.

Logs View access level and clear access level.

IQANdesign User manual 390


17 System
communication

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.

IQANdesign User manual 391


Options
17 System communication

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.

Select communication port.

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.

IQANdesign User manual 392


Options
17 System communication

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.

IQANdesign User manual 393


Options
17 System communication

When starting to communicate over Ethernet a dialog is shown where you


can select the machine you want to communicate with. The Ethernet dialog
contains two tabs, Discovered modules and Static modules. Under discovered
modules all available modules on the local network is listed. Select a module
in the list and click Connect to start to communicate with that module. If you
are not sure which module you should connect to, you can select a module in
the list and click Identify. This will cause the screen of the selected module to
flash.
To switch to another Ethernet module, you have to select Communication >
Disconnect and then start to communicate. This will bring up the Ethernet
dialog again.

Discovered modules in the Ethernet connection dialog.

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-

IQANdesign User manual 394


Options
17 System communication

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.

IQANdesign User manual 395


Send project
17 System communication

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.

IQANdesign User manual 396


Get project
17 System communication

Get project
Before getting a project from the IQAN system, be sure all connections
between the PC and the master are completed.

Getting a project from the IQAN system


Select Communication > Get Project or click on the Get Project button in the
tool bar. The shortcut key for getting data is <Shift>+F11.
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 Get project on page 301. Enable dialog box in Tools > Options, see
section Dialog options on page 54 for more information.
Status is shown during the get operation by a progress bar.

Getting project.

Abort transmission
If the transmission has to be stopped, click Cancel.

IQANdesign User manual 397


Set date and time
17 System communication

Set date and time


Select Communication > Set Date and Time to set the real time clock in the
connected IQAN system. The actual date and time set in your PC will be
used.

IQANdesign User manual 398


Remote diagnostics
17 System communication

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.

IQANdesign User manual 399


Remote diagnostics
17 System communication

IQANconnect tab of the internet connection.

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.

Recall connection key


You may want to recall keys to prevent unauthorized users to connect to a
specific machine. Do that by right clicking on a machine in the connection
dialog and select Generate new key.

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.

IQANdesign User manual 400


Remote diagnostics
17 System communication

IQANconnect subscription management.

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.

IQANdesign User manual 401


Remote diagnostics
17 System communication

Connect via Internet dialog box.

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.

IQANdesign User manual 402


18 Simulation

To simulate your project you need to install IQANsimulate on your computer.


IQANsimulate is a very useful tool that helps to assure the functionality of
your project before you download the file to the IQAN system. It is also very
easy to check a function if you are unsure of its behavior.
Another benefit is that if your project contains a display module you don’t
have to download your application file to check your display pages, display
controls or menu system. The project file will appear exactly the same way in
the simulator as in the real system with master modules. Use the mouse to
click on the display buttons or to turn the jog shuttle.
For details on IQANsimulate refer to the IQANsimulate user manual.

IQANdesign User manual 403


IQANsimulate synchronization
18 Simulation

IQANsimulate synchronization
IQANdesign and IQANsimulate both have features that allow you to control
a simulation from either user interface.

IQANdesign controlling IQANsimulate


IQANsimulate can be controlled remotely by IQANdesign. The Start, Stop,
Pause and Step functions are available in IQANdesign main menu and main
tool bar. Use them to control IQANsimulate and its simulators.
Input values can be controlled from IQANdesign with the help of sliders in
IQANdesign’s function group view.

Slider controlling the input values from IQANdesign.

When starting a simulation from IQANdesign, it will first start IQANsimulate


if it is not already running, then send the project file currently opened in
IQANdesign to IQANsimulate. IQANsimulate will then start the simulation.

IQANsimulate controlling IQANdesign


When controlling the simulator from IQANsimulate, IQANdesign is synchro-
nized so its simulate menu items and tool bar buttons are enabled/disabled
accordingly. This synchronization will only work if the simulation was
started from IQANdesign.

IQANdesign User manual 404


19 Multiple master
modules

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.

IQANdesign User manual 405


Single master or multi master?
19 Multiple master modules

Single master or multi master?


A single master system with expansion modules has a lot of advantages:
In a single master system, there is only one of the modules in the machine that
needs programming, expansion modules can be replaced in the field without
having to load any software.
In the single master system, only one node needs to be accessible to the diag-
nostic tool (e.g. PC with IQANrun).
Diagnostic data from IQAN expansion modules is optimized to take up as lit-
tle of the CAN bus bandwidth as possible, so one bus can be used for a high
number of modules.
An IQAN specific advantage of the single master concept is also the combi-
nation of master and display module into one module, which makes it signifi-
cantly easier to access diagnostic data on the display in the system.
In general, an expansion module also requires less expensive hardware than a
master module, so a system with just one master and a number of expansions
can have a slightly lower cost.

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.

IQANdesign User manual 406


System design
19 Multiple master modules

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.

IQANdesign User manual 407


System design
19 Multiple master modules

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.

IQANdesign User manual 408


System design
19 Multiple master modules

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.

The property Optional

To avoid warnings on the other master modules when an optional module is


missing in the system, set the property Optional to Yes on these modules.
The headmaster can not be optional.

IQANdesign User manual 409


System design
19 Multiple master modules

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.

If the MD4 is connected to the expansion bus in IQANdesign, an error will


be generated, Multiple master modules on expansion bus.

Error, both the MD4 and the MC43 have been connected to the expansion bus.

IQANdesign User manual 410


System design
19 Multiple master modules

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.

Master modules without an RTC


In a single master system, a master module without an RTC (e.g. IQAN-
MC3) will count start-ups and time since startup instead of date and time.
In a multi-master system, it will instead use the date and time from a master
that has an RTC, if one such master exists in the system.
If the module without RTC does not have contact with a master with RTC, it
will fall back to using number of start-ups and time since start-up. The effect
will be that the logs might contain a mix of both formats.

IQANdesign User manual 411


Safety aspects
19 Multiple master modules

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.

Upon detection of errors


If an error is detected within a CAN frame from an APPOUT, this CAN
frame will be discarded. If the timeout is not exceeded, the value from the
previous cycle is used in the APPIN. When the timeout is exceeded, the
APPIN will instead use its defined error value.
As with all channels that have error detection, it is crucial that an error value
that is safe in the application is selected.

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.

Diagnostic connection to other masters


Diagnostic information such as measured values in measure groups or view-
ing of logs is not considered safety related.
What is safety related is making changes through the diagnostic interface that
could influence a safety function. I.e. adjust may be safety related, if the
adjustment is on channels used for safety functions.
Just as the APPIN/APPOUT data has automatic methods for error detection,
so does the diagnostics data. But there are differences, with adjust items the
security aspects of tampering must also be considered.

Protecting safety related adjust items


There are two main methods for protecting safety related adjust items from
tampering:

IQANdesign User manual 412


Safety aspects
19 Multiple master modules

• 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.

IQANdesign User manual 413


Erroneous or incomplete systems
19 Multiple master modules

Erroneous or incomplete systems


The system can continue to work with reduced functionality when nodes are
missing, or even with incorrect nodes on the system. This section describes
how.

The multi-master state


Each master module determines its own state in a multi-master system based
on the other master modules found. The multi-master state can be OK, Lim-
ited or Stopped. It is possible to get the multi-master state in an application
using the system information channel (SIC).

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.

Check of project ID and revision


Each master module checks the other master modules in the system, to deter-
mine if they belong to the same Project, and are of the same Revision.
The project ID (see section Project properties on page 74) is used for check-
ing that they belong to the same project.
The project revision is an automatically generated number, each time the
project is edited in IQANdesign, the revision is changed. The project revision
is not visible in IQANdesign, and can not be manipulated. The project revi-
sion is not the same as the project version in the project properties.

IQANdesign User manual 414


Erroneous or incomplete systems
19 Multiple master modules

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.

Alien modules on the bus


All master modules in a multi-master project is monitoring the Diagnostics
bus and Master bus, in order to detect alien modules on the bus.
If there is any node from the same project, but with different revision on the
bus, the multi-master state will become Stopped.
If there is any node from another multi master project (different ID) on the
bus, the multi-master state will become Stopped.
If there are duplicates of master modules from the same project on the bus,
the multi-master state will become Stopped.
If there are modules acting as an IQAN master on the bus, the multi-master
state will become Stopped.

Missing modules
If a master module is missing, the other applications will be in limited opera-
tion. Two special cases exists:

Missing an optional module


If the missing module is set to optional, the other applications in the system
will be able to continue in the OK state without it.

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.

Updates and clones in incomplete systems


The project file is always complete
It is possible to send a project file to an incomplete system.
The opposite is prevented, it is not possible to get a project file from an
incomplete system, even if the missing nodes are optional. This ensures that
the project file is always complete.

Clones may be incomplete


In IQANrun, it is possible to Get a Clone file from a system, see IQANrun
user manual.

IQANdesign User manual 415


Erroneous or incomplete systems
19 Multiple master modules

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.

Settings may be incomplete


In IQANrun, it is possible to Get a Settings file from a system, see IQANrun
user manual.
The settings are not linked to a specific revision of the project file. It is possi-
ble both get and send incomplete settings. A dialog warns the IQANrun user
if the settings are incomplete.

IQANdesign User manual 416


20 Coding
guidelines

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.

IQANdesign User manual 417


General guidelines
20 Coding guidelines

General guidelines
These are general guidelines that improve the readability of an IQANdesign
application.

Characteristics of a well designed application file

Naming conventions Use readable names

Documentation Use descriptions and comments

Architecture Use function groups of limited size

Layout Inputs to left, outputs to right

Value types Avoid unnecessary type casting


(e.g. dual object used in IDC)

Calculation order No unintentional inverse calculation order warnings

Project check No errors/warnings

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.

Naming of digital channels


Digital channels, e.g. DIN or IDC, should have names that describe the active
state of the channel, where you can read the name as a true false/statement.

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

IQANdesign User manual 418


General guidelines
20 Coding guidelines

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”.

Naming of operator controls


Operator controls should be named after their location, or after the function
that they control.

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

Naming of sensor inputs


For analog inputs that provide a measurement, name the channel to describe
what is measured.

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.

IQANdesign User manual 419


General guidelines
20 Coding guidelines

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

Bucket function with description.

Use comments to document functionality in a function group.


EXAMPLE

Comment describing the options function group.

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.

IQANdesign User manual 420


General guidelines
20 Coding guidelines

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

Channel layout for a boom function.

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.

IQANdesign User manual 421


General guidelines
20 Coding guidelines

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.

Here, the use of two Single objects is better.

Calculation order
The application should not have any unintentional inverse calculation order
warnings. See section Calculation order on page 227.

Red line if the calculation order is reversed.

The effect of a reverse calculation order will in most cases be limited to a


delay in the response time of that function, but for complex functions the cal-
culation order can be used to change the functionality.
When this is intentional, it should be well documented, and it may be wise to
place that function in a small function group on its own to reduce the risk of
unintentionally changing the calculation order with the Auto order function.

IQANdesign User manual 422


General guidelines
20 Coding guidelines

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.

IQANdesign User manual 423


General safety principles
20 Coding guidelines

General safety principles


For all functions that control hydraulic implements, the design principles in
this section should be applied, as a minimum. These are actually general
safety principles that are relevant for all machinery.
For applications where there is an increased need for proving the integrity of
the safety functions, also see section Safety related applications on page 428.

Safety principles

De-energization Deactivate output if commanding input is open.

Error detection Check status.

Error detection action Use safe error values.

Start and restart conditions Consider safe start and restart conditions.

One control station at a time Use states to avoid ambiguous input.

Protect parameters Use limits and security.

Limit remote access Ensure safe state before remote access

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.

Error detection action


Design the application to enter a safe state if an error is detected.
In IQAN, some error detection is automatic, and have an automatic response
that sets the channel to its error value. Design the application with safe error
values.

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.

Start and restart conditions


Consider the safety of start-up and restart conditions.

IQANdesign User manual 424


General safety principles
20 Coding guidelines

It is wise to design the application so that actuation of hydraulic implements


always require a deliberate action from the operator.

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.

Layout of a function with start-up check.

The compare channels AAC, ADC and DDC can also be used in the imple-
mentation of safe start and restart conditions.

Layout of a function with start-up check using AAC.

One control station at a time


In applications where hydraulic implements can be operated from different
control stations, it is important that only one control station is active at a time.
In IQANdesign, use states to avoid ambiguous inputs.

IQANdesign User manual 425


General safety principles
20 Coding guidelines

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.

Use of state machine channel.

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.

Limit remote access


When there is a modem for remote diagnostics, set the modem properties so
that a safe state can be ensured before allowing a remote connection.

IQANdesign User manual 426


General safety principles
20 Coding guidelines

If there is a display in the system, a user dialog is a possible solution. If not,


implementing a condition that checks that the machine is stationary could be
an alternative, depending on the application.

IQANdesign User manual 427


Safety related applications
20 Coding guidelines

Safety related applications


In addition to the guidelines above, further requirements apply for applica-
tions that use an IQAN module certified for functional safety, for example the
IQAN-MC3.

Requirements on safety related applications

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).

Application defaults on Use safe application defaults.


parameters

Input integrity Use compare channels.

Safety related function groups


Organize the application in function groups so that the safety functions are
separated from normal functions. Mark function groups containing safety
functions as safety related, see section Safety related function groups on page
234.

Interfaces to non safety related functions


The safety function shall always take priority over normal functions. When
the safety functions can not be completely separated from normal functions,
this needs special attention.
To ensure that the safety function takes priority:
• In analog channels, e.g. DMAC use Limiting objects with the MinOf
(absolute) method.
• In digital channels, e.g. IDC, use Blocking objects with the Or method.
To control the risk of an unexpected input from a normal function, always use
limits to keep it within the expected interval.

Application defaults on parameters


Design the application so that it is in a safe state when the application default
is used for any parameter.
This is required for IQAN module certified for functional safety, but it is wise
to apply this rule also for other IQAN modules.
The IQAN master modules are continuously monitoring the integrity of
stored and adjustable parameters. In the unlikely event that adjustable, fac-
tory default or stored parameters are corrupted, the module will fall back to
using the application default values for the affected channel(s).
IQANdesign User manual 428
Safety related applications
20 Coding guidelines

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.

IQANdesign User manual 429


Qcode guidelines
20 Coding guidelines

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

IQANdesign User manual 430


Qcode guidelines
20 Coding guidelines

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

An if/then/else statement can be written on a single line. But as soon as any of


the clauses contains multiple expressions the statement must be divided into
block statements ending with endif.
EXAMPLES

IQANdesign User manual 432


21 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.

IQANdesign User manual 433


Present inputs on a display module
21 Examples

Present inputs on a display module


In this example we will add a couple of inputs and present them on a display
page.
• Start IQANdesign and create a new project by selecting File > New.
• Select the MD4-7 master in the Add Module dialog that is shown.
• Select Application Logic and New display module application (MD4-7[0).
Add a voltage input to your application by clicking the Add + button and
double-click on Voltage in in the drop down list. Alternatively you can
double-click in the application to bring up the same drop down list.

Voltage input added.

• 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.

IQANdesign User manual 434


Present inputs on a display module
21 Examples

• Now, we need to connect this voltage input to a pin on a module. Select


System Layout in the project manager.

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.

Voltage input connected to master module.

• Select Master (MD4-7[0]) in the project manager. A block diagram is


shown. Your voltage input has been connected to the first available pin.
Point at the index next to your voltage input (C2:1) to see current and
alternative configurations for that pin number. To use another pin, simply
drag the channel and drop it on another index or use the drop down list on
the pin to see available options.

Connector 2, pin number 1. (C2:1).

IQANdesign User manual 435


Present inputs on a display module
21 Examples

• In the machine, we want to minimize wiring and read this signal on an


expansion module, closer to the sensor. Select System Layout and click
Add and select the Expansion modules tab.

Adding an expansion module.

• Double-click on XA2 to add it to the system.


• Click on A on the Master, and drag the line to the A on the XA2. This will
make MD4 CAN bus A the bus for expansion modules and connect it to
the XA2.

Connecting master to expansion module.

All items in the module view can be moved around so to give a better graphi-
cal representation of how the real layout looks.

MD4 and XA2 connected to expansion bus.

IQANdesign User manual 436


Present inputs on a display module
21 Examples

• 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.

Frequency input being dragged.

• Rename frequency input by pressing <F2>, enter Vehicle speed. Then


press <Tab> twice to move to property Unit, enter km/h and press
<Enter>. Move to property Scaled max and enter value 50, press <Enter>.

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.

IQANdesign User manual 437


Present inputs on a display module
21 Examples

Add display page.

• 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.

Value control added.

• 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.

IQANdesign User manual 438


Present inputs on a display module
21 Examples

Voltage input selected.

• 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.

Select Value and unit.

• To make the temperature measurement more visual, we will add a linear


bar.

IQANdesign User manual 439


Present inputs on a display module
21 Examples

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.

Setting Linear bar orientation.

• 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.

IQANdesign User manual 440


Present inputs on a display module
21 Examples

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.

Adding color stops.

• 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.

IQANdesign User manual 441


Present inputs on a display module
21 Examples

Linear Bar properties.

Linear Bar in the Display page editor.

• 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.

IQANdesign User manual 442


Present inputs on a display module
21 Examples

Adding a Gauge control.

• 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.

IQANdesign User manual 443


Present inputs on a display module
21 Examples

Symbol button, enter menu system.

• 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.

Changing project properties.

IQANdesign User manual 444


Present inputs on a display module
21 Examples

• 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.

Start simulation dialog box.

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

input by clicking on it and moving its slider control in IQANsimulate or


IQANdesign. Also, close the error dialog box by clicking on the corre-
sponding button in the simulator window.
• Play with the values on our voltage and frequency inputs and see how the
displays controls react.

Simulator running.

• Stop your simulation by clicking the Stop button in the main tool bar.

IQANdesign User manual 446


Controlling a boom function, using Object list
21 Examples

Controlling a boom function, using Object list


In this example we will add a function group and some channels to control
two hydraulic functions on a crane, boom and telescope. The telescope will
also have an end damping function.
• Right-click in the Application editor and select Add Function Group.

Add function group.

• A function group is created. Function groups are containers of channels.


They will let you organize and structure your application. A normal appli-
cation contains a lot of channels, and having them all in the same view is
not a good idea. You can create as many function groups as you like and
even have nested function groups.
• Rename the function group to Crane.

Function group Crane.

• 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:

Boom and telescope channels.

• 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.

IQANdesign User manual 448


Controlling a boom function, using Object list
21 Examples

Drag an LC5 module to the system layout.

• Connect the LC5 lever by dragging its CAN port A to the expansion bus.

Connecting the LC5 module 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.

Dragging multiple channels to a 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-

IQANdesign User manual 449


Controlling a boom function, using Object list
21 Examples

verted to a current based on the channel calibration, see section Current


out (COUT) on page 131.
• Fix this problem by selecting Boom function as input channel on the Boom
current output. On the Telescope output, select Telescope function.
• We will now start to build up the functionality. Select the DMAC channel
Boom function. This channel has a function, which you can see in the
function inspector below the editor. A function can be created using either
Object List, or Qcode. Select Object List on the drop down. A function
created with Object List consists of objects in different object groups. A
dual direction math channel has three object groups, Controlling +/-,
Limiting + and Limiting -.
• Left click in Controlling +/-, then use the button above to add the
Lever Boom as a Single object.

Add single object using drop down list.

• An alternative method is to Right click in Controlling +/-, and select Add


Single. Then on the properties of the single object, select the input channel
(Lever Boom).

Add single object by right clicking.

IQANdesign User manual 450


Controlling a boom function, using Object list
21 Examples

• 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.

Lines showing channel references.

• 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.

IQANdesign User manual 451


Controlling a boom function, using Object list
21 Examples

Set calculation order.

• 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.

IQANdesign User manual 452


Controlling a boom function, using Object list
21 Examples

• 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.

Channel connected to a function group.

• 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:

Vector object properties.

• 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:

Vector object properties in negative direction.

• 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.

IQANdesign User manual 454


Controlling a boom function, using Object list
21 Examples

Limiting object decides the channel value.

• To make it easier to simulate, in IQANsimulate, drag the channel Tele-


scope length sensor to the Simulation Group named Default.

Adding channels to simulation group.

• The IQANsimulate window will be placed on top of the IQANdesign win-


dow. Resize the IQANsimulate window to make it smaller, this allows you
to use the sliders to change the value of Telescope length sensor, while
looking at the function inspector for the Telescope function to see the
result.

IQANdesign User manual 455


Controlling a boom function, using Object list
21 Examples

Using a simulation group.

• In the IQANsimulate window, you can use Ctrl-F12 to change between


entering inputs as either raw value (mV in this example) or scaled value
(m in this example).

IQANdesign User manual 456


Adding measure groups
21 Examples

Adding measure groups


It is now time to add some advanced measuring to our application. Measure
groups serve two purposes. One is to measure channels graphically in
IQANdesign and the other is to give the machine user access to measuring via
a display module.
• Start by adding a measure group. Right-click on Measure groups under
Diagnostics in the project manager and select Add measure group.
• Rename the group to Crane.
• Drag the channels you want measure and drop them on the Crane measure
group in the project manager. In this case we want to measure all channels
in the function group Crane. You can add all channels in that group in one
operation by dragging the function group and drop it on the measure
group.
• Look at the measure group by selecting it in the project manager.

Crane measure group.

• 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.

Measured graph and statistics.

• 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.

IQANdesign User manual 458


Adding measure groups
21 Examples

Menu button.

• In the menu, select Measure, and then Crane to view its measure items.

Crane measure group in the MD4.

IQANdesign User manual 459


Diesel engine CAN communication
21 Examples

Diesel engine CAN communication


This example demonstrates how to communicate with a diesel engine via a
CAN bus using the SAE J1939 protocol.
• Add a function group with the name Diesel engine.
• In that group, add a J1939 frame input (JFIN) channel. It is located on the
CAN tab in the channel drop down. Rename it to Engine temperatures.
This channel type will read and decode a J1939 CAN message. A CAN
message is called a parameter group in SAE J1939. Each parameter group
consists of one or more parameters. We’ll add those later.

An excerpt from the SAE J1939 specification.

• A parameter group is identified by its parameter group number - PGN.


The PGN for engine temperatures is 65262 according to the specification.
Enter that number in property PGN.
• The specification states that engine temperatures should be sent once
every second. Set property Timeout [ms] to 1500 ms to allow for some
extra delay. An error will be generated for this channel if the message
hasn’t been received within this time since the last one.
• Now, let’s add some parameters to this parameter group. On property
Parameters click the button to the right.

IQANdesign User manual 460


Diesel engine CAN communication
21 Examples

Add a parameter property.

• A property, Parameter 1, is added. On property Channel, click the button


to the right to add the actual parameter channel.

Add a parameter in channel.

• A dialog box is shown, asking you for a channel name. Enter Engine
Coolant Temperature and click OK.

IQANdesign User manual 461


Diesel engine CAN communication
21 Examples

New channel name.

• A J1939 parameter in channel is created and connected to the parameter


group. It is positioned in the upper left corner of your function group by
default. Move it to a position next to your parameter group channel.
• Enter the properties for Engine Coolant Temperature from the specifica-
tion.

An excerpt from the SAE J1939 specification.

• It should look like this:

Engine Coolant Temperature properties.

• 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.

IQANdesign User manual 462


Diesel engine CAN communication
21 Examples

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].

Set offset graphically.

• 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.

IQANdesign User manual 463


Diesel engine CAN communication
21 Examples

Parameter Engine Oil Temperature positioned at Byte 3.

• To be able to use these parameter values in other function groups we must


make them function group outputs. Right-click on one of the parameter
channels and select Channel Scope and then Function group output. Do
the same for the other parameter channels. The function group should now
look like this:

A circled arrow indicates function group outputs.

• 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.

IQANdesign User manual 464


Diesel engine CAN communication
21 Examples

• The J1939 modules property Source address is by default set to 0 which is


the SAE specified address for engines. Other module types will have dif-
ferent addresses.

J1939 bus and module has been added to the system.

• Drag the parameter group channel Engine temperatures and drop it on the
Diesel engine module.
• You’re done!

IQANdesign User manual 465


Using states on a remote controlled crane
21 Examples

Using states on a remote controlled crane


In this example the difference between the state channels will be explained. It
will also be an opportunity to make use of both Object List and Qcode. There
are three types of channels for controlling a state:

Channel type Selects state based on:

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.

State machine channel (SMC)


To explain the SMC we will use an example of a crane that can be controlled
from two places, either from the cabin or from a radio remote. To follow this
tutorial, it might be good to first have a look at the example “Controlling a
boom function”.
• First, start by adding the modules, an IQAN-MD4, an IQAN-LC5, an
XA2 and a radio module (XR). Give the modules understandable names.
To decide if the crane is controlled from the joystick in the cabin or from the
radio control, at least one selector switch is needed. To improve the safety of
this function, two digital inputs will be used to decide the active control.
• Add two digital inputs, name them Sw Radio control active and Sw cabin
control active. Assign them to the MD4.

IQANdesign User manual 466


Using states on a remote controlled crane
21 Examples

SMC, State machine 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.

Right click to add states

• 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.

IQANdesign User manual 467


Using states on a remote controlled crane
21 Examples

• 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.

Input Sw Radio... = True Sw Radio... = False

Sw Cabin... = True Error or disabled Cabin control


Sw Cabin... = False Radio control Error or disabled

The state machine should look like this when finished.

Now we continue by adding the actual crane function.


• Add a directional analog channel, name it JS Right X and place it on the
lever module.
• Add a voltage in channel, name it Radio Right X and place it on the XR
module. Scale the input from -100% to 100%. Set the Reference voltage to
Not used. Also set Min [mV] to 0, and Max [mV] to 5000.
• Add a dual direction math channel, name it Boom function.
• Add a current out channel, name it Boom and select Boom function at the
property Input channel.

IQANdesign User manual 468


Using states on a remote controlled crane
21 Examples

• 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.

Crane with two control stations.

• Once again, test the function in the simulator to verify that the function
works as expected.

IQANdesign User manual 469


Using states on a remote controlled crane
21 Examples

Finite state machine (FSM)


A good way of reducing the risk on the machine is to require that the joy-
sticks are in neutral position before activating them. We will modify our
application to implement this neutral position check, and at the same time
explain the Finite state machine channel.

Finite state machine.

• 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.

IQANdesign User manual 470


Using states on a remote controlled crane
21 Examples

• Name the transition Activate cabin control.


Before adding more transitions, we will create the function for this transition,
using Qcode.
• Click on the transition Activate cabin control and select Qcode.
• We first create a local variable for checking if the joystick is in neutral.
Type in the following:
CabinJoysticksInNeutral := Inside(JS Right X, -10, 10) and Inside(JS Right Y, -10, 10)

• 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

• Now you should have something like this:

Transition condition expressed in Qcode.

• 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)

IQANdesign User manual 471


Using states on a remote controlled crane
21 Examples

Transition condition expressed in Qcode.

• Continue by adding a transition from the state Inactive to Remote control.


The condition is:
RemoteInNeutral := Inside(Radio Right X, -10, 10) and Inside(Radio Right Y, -10, 10)
Result := Sw Radio control active and not(Sw Cabin control active) and RemoteInNeutral

• Add a transition between Remote control and Inactive, the condition is:
Result := not(Sw Radio control active) or Sw Cabin control active

States and transitions.


IQANdesign User manual 472
Using states on a remote controlled crane
21 Examples

• 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.

Adding a state parameter.

• 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.

IQANdesign User manual 473


Using states on a remote controlled crane
21 Examples

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.

IQANdesign User manual 474

S-ar putea să vă placă și