JSON Integration for IO-Link - Version 1.0.0 Mar 2020 Order No: 10.222 - weka fachmedien

Page created by Judy Montgomery
 
CONTINUE READING
JSON

Integration for
    IO-Link

   Version 1.0.0
     Mar 2020

  Order No: 10.222
JS ON Int egration for IO-Link                                 –2–                                                  V ersion 1.0.0

File name : JSON_Integration_10222_V100_Mar20

This s pecification has been prepared by t he IO -Link c ommunity.

A ny c omments, proposals, requests on t his document are appreciated t hrough t he IO -Link CR
dat abase www.io-link-projects.com. Please provide name and email address.

Login: IOL-JSON

P a ssword: Report

I m por tant notes:
NO T E 1 T h e I O -Link Co m munit y Ru les sh a ll b e co nside red p rior t o t h e d evelopment a nd m arke ting o f IO -Link
         p ro d ucts. The documen t can be do wnloaded f rom the www.io-link. com p ortal.

Di s c lai mer :
T h e a t tention o f a do pters i s d i rected t o t h e p ossi bility t h at co mplian ce wi th o r a d option o f I O -Link Community
     sp e ci fication s m ay re quire u se o f a n i nvention co vered b y p a ten t ri ghts. T he I O -Link Co mmunity sh all not be
     re sp o n sible fo r i dentifyi ng p atent s f or which a license m ay b e required b y a ny I O -Link Community specification,
     o r f o r con ducting leg al in quiries i nto t he legal validity or sco pe of those pat ents t hat are b roug ht to its attention.
     I O -L ink Co mmu nit y sp e cifications a re p ro spe ctive a nd a d viso ry o n ly. P rosp ective u se rs a re re sp onsible for
     p ro t ecting th emse lves a gainst liability for infringement o f pat ents.
T h e inf ormatio n contained in this do cument is su bject t o change without notice. The material in this document details
     a n I O -Lin k Community sp e cification i n a ccordance wit h t he l icen se a nd n o tices se t f o rth o n t his page. This
     d o cu ment d o es n o t re prese nt a co m mitment t o i mplement a ny p o rtion o f t h is sp e cification i n a n y company's
     p ro d ucts.
WHI L E T HE I NFORMATION I N T HIS P UB LICATION          I S B E L IEVED T O B E A CCURATE, T HE I O-
  L I NK COMMUNITY MAKES NO WARRANTY O F ANY K IND, EXPRESS O R IMP LIED, WITH REGARD TO THIS
  M A T ERI AL I NCLUDING, B UT NO T LI MITE D T O A NY WA RRANTY O F T ITLE O R O WNERSHI P, IMPLIED
  WA RRA NTY O F MERCHANTABILITY O R WARRANTY O F FITNESS FO R P ARTICULA R P URPO SE O R USE .
I n n o e ve nt sh all t h e I O -Link Co mmunit y b e l iable f or e rrors cont ained h e rein o r f or i n direct, incidental,
    sp e ci al, conse quential, reliance o r co ver d amages, including l oss o f profits, revenue, d ata o r u se, incurred
    b y a n y use r or a ny t hird part y. Co mpliance wit h t his sp e cification d oes n ot a bso lve m anuf actu rers of IO -
    L i n k e quipmen t, f rom th e requirements o f sa f ety and re gu lat ory ag encies (TÜV, B IA, UL, CSA, e tc.).

           ® is a registered t rademark. It may be us ed only by t he members of t he IO -Link
Community and non-members who had ac quired t he c orresponding license. For more detailed
information on its use, refer t o t he rules of t he IO-Link Community at www.io-link.com.

P ublisher:
IO-Link Community
c / o P ROFIBUS Nutzorganisation e.V.
Haid-und-Neu-Str. 7
76131 K arlsruhe
Germany
P hone:+ 49 721 / 96 58 590
Fax : + 49 721 / 96 58 589
E -mail:info@io-link.com
W eb s ite: www.io-link.com

© No part of this publication may be reproduced or utilized in any form or by any means, electronic or
mechanical, including photocopying and microfilm, without permission in writing from the publisher.
JS ON Int egration for IO-Link                                                                 –3–                                                                            V ersion 1.0.0

                                                                                     CONTENTS

1         Mot ivation and scope. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2         Normative references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3         Terms, definitions, symbols, abbreviated terms and conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
  3. 1      Common terms and definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
  3. 2      Symbols and abbreviated terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
  3. 3      Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
    3. 3. 1     Placeholders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4   Arc hitect ural and t echnical scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
  4. 1      General objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
  4. 2      Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
  4. 3      Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
  4. 4      Device dat a and layer model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
  4. 5      General rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
    4. 5. 1      Us age of M/O/ C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
    4. 5. 2      Mast er numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
    4. 5. 3      Port numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
    4. 5. 4      Device Naming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
    4. 5. 5      Access rights. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
    4. 5. 6      Naming based on IODD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
    4. 5. 7      Data ty pe convers ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
    4. 5. 8      Byte array conversion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
    4. 5. 9      Time format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
    4. 5. 10     Error B ehavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5   RES T AP I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
  5. 1      URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
  5. 2      HTTP methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
  5. 3      HTTP Requests / Res pons es. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
  5. 4      Gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
    5. 4. 1      GE T /identificat ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
    5. 4. 2      GE T /capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
    5. 4. 3      GE T /configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
    5. 4. 4      POS T /configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
    5. 4. 5      POS T / reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
    5. 4. 6      POS T / reboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
    5. 4. 7      GE T / events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
  5. 5      Mast er . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
    5. 5. 1      GE T /masters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
    5. 5. 2      GE T /capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
    5. 5. 3      GE T /identificat ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
    5. 5. 4      POS T /identificat ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
  5. 6      Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
    5. 6. 1      GE T / ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
    5. 6. 2      GE T /capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
    5. 6. 3      GE T /stat us. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
    5. 6. 4      GE T /configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
    5. 6. 5      POS T /configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
JS ON Int egration for IO-Link                                                                –4–                                                                           V ersion 1.0.0

    5. 6. 6     GE T / datast orage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
    5. 6. 7     POS T /datastorage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
  5. 7      Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
    5. 7. 1     GE T / devices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
    5. 7. 2     GE T /capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
    5. 7. 3     GE T /identificat ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
    5. 7. 4     POS T /identificat ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
    5. 7. 5     GE T / processdat a/ val ue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
    5. 7. 6     GE T / processdat a/getdat a/ value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
    5. 7. 7     GE T / processdat a/setdata/ value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
    5. 7. 8     POS T /processdat a/ value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
    5. 7. 9     GE T / parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
    5. 7. 10    GE T / parameters/{index}/subindices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
    5. 7. 11    GE T / parameters/{paramet erName}/s ubindices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
    5. 7. 12    GE T / parameters/{index}/ value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
    5. 7. 13    GE T / parameters/{index}/subindices/ {subindex}/ value. . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
    5. 7. 14    GE T / parameters/{paramet erName}/ value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
    5. 7. 15    GE T
                /paramet ers/ {paramet erName}/s ubindic es/{subParamet erName}/ value . . . . . . . . 53
    5. 7. 16    POS T /paramet ers/ {index }/ value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
    5. 7. 17    POS T /paramet ers/ {paramet erName}/ value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
    5. 7. 18    POS T /paramet ers/ {index }/subindices {subindex}/ value. . . . . . . . . . . . . . . . . . . . . . . . . . . 55
    5. 7. 19    P OS T
                /paramet ers/ {paramet erName}/s ubindic es/{subParamet erName}/ value . . . . . . . . 56
    5. 7. 20    POS T /blockparamet rization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
    5. 7. 21    GE T / events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
  5. 8      IODD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
    5. 8. 1     GE T /iodds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
    5. 8. 2     POS T /iodds/file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
    5. 8. 3     DE LE TE /iodds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
    5. 8. 4     GE T /iodds/file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
  5. 9      MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
    5. 9. 1     GE T /mqtt/configurat ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
    5. 9. 2     POS T /mqtt/configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
    5. 9. 3     GE T /mqtt/topics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
    5. 9. 4     POS T /mqtt/t opics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
    5. 9. 5     DE LE TE /mqtt/topics/{t opic Id} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
    5. 9. 6     GE T /mqtt/topics/{topic Id} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
    5. 9. 7     GE T /mqtt/connectionstatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6   MQTT t opics format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Annex A            (normat ive) St atus Codes and Errors on HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
  A.1               HTTP Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
  A.2               JSON E rrors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Annex B            (normat ive) JSON base objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
      B.1     General JSON objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
       B . 1.1   Cycle time object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
       B . 1.2   Error object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
       B . 1.3   Power Supply object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Annex C (normative) Pat h Paramters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
JS ON Int egration for IO-Link                                                                 –5–                                                                              V ersion 1.0.0

   C. 1   Pat h Paramet ers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Figure 1 – P hysical Gat eway models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Table 1 – IODD text conversion rules ex amples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Table 2 – Data type conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Table 3 – Mapping ex ample of a bit sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Table 4 – Base path. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Table 5 – HTTP methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Table 6 – Resources overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Table 7 – Resources Gat eway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Table 8 – GE T /ident ification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Table 9 – Object Gat ewayIdentific ation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Table 10 – GE T /capabilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Table 11 – Object GatewayCapabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Table 12 – GE T /configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Table 13 – Object GatewayConfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Table 14 – Object Net workInterfac eConfigurat ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Table 15 – POS T /configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Table 16 – POS T / reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Table 17 – POS T / reboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Table 18 – GE T / events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Table 19 – E vent log query parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Table 20 – Object GatewayE vent Log. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Table 21 – Object Origin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Table 22 – Object Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table 23 – GE T /masters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Table 24 – Object MasterId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Table 25 – Resourc es Master . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Table 26 – GE T /capabilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Table 27 – Object MasterCapabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Table 28 – GE T /identific ation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Table 29 – Object MasterIdentificat ionGet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Table 30 – POS T /identificat ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Table 31 – Object MasterIdentificat ionPost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Table 32 – GE T / ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Table 33 – Object Port ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Table 34 – Resourc es Port. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Table 35 – GE T /capabilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Table 36 – Object Port Capability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Table 37 – GE T /stat us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Table 38 – Object PortStat us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
JS ON Int egration for IO-Link                                                         –6–                                                                       V ersion 1.0.0

Table 39 – Port stat us mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Table 40 – GE T /configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Table 41 – Object Port Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Table 42 – Conditions for t he Port Configuration object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Table 43 – POS T /configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Table 44 – GE T / dat astorage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Table 45 – Object Dat astorage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Table 46 – Object Dat aStorageHeader. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Table 47 – POS T /datast orage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Table 48 – GE T / devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Table 49 – Object DeviceAlias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Table 50 – Resourc es Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Table 51 – GE T /capabilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Table 52 – Object DeviceCapabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Table 53 – GE T /identific ation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Table 54 – Object Device Identificat ion Get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Table 55 – POS T /identificat ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Table 56 – Object DeviceIdentificat ionPOS T. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Table 57 – GE T / processdat a/ value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Table 58 – format request query parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Table 59 – Object P rocessDataInOut. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Table 60 – Object P rocessData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Table 61 – Object processDat aIOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Table 62 – GE T / processdat a/getdata/ value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Table 63 – GE T / processdat a/setdata/ value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Table 64 – POS T /processdat a/ value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Table 65 – GE T / parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Table 66 – Object parameterList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Table 67 – GE T / parameters/{index}/subindices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Table 68 – Object deviceS ubParameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Table 69 – GE T / parameters/{paramet erName}/subindices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Table 70 – GE T / parameters/{index}/ value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Table 71 – deviceParameterValues object list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Table 72 – Object complexParameterValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Table 73 – Object simpleP arameterValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Table 74 – Object rawParameterValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Table 75 – GE T / parameters/{index}/subindices/ {subindex}/ value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Table 76 – GE T / parameters/{paramet erName}/ value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Table 77 – GE T / parameters/{paramet erName}/subindices/{subParameterName}/ value . . . . . . 53
Table 78 – POS T /paramet ers/ {index}/ value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Table 79 – POS T /paramet ers/ {paramet erName}/ value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Table 80 – POS T /paramet ers/ {index}/subindices {subindex}value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
JS ON Int egration for IO-Link                                                          –7–                                                                        V ersion 1.0.0

Table 81 – P OST
/paramet ers/ { paramet erName }/subindic es/{subParamet erName}/ value . . . . . . . . . . . . . . . . . . . . . . . . 56
Table 82 – POS T /blockparamet rization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Table 83 – Object BlockParamet rizationRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Table 84 – Object BlockParamet rizationA nswer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Table 85 – Object BlockParameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Table 86 – Object ParameterValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Table 87 – Object SubIndexAddress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Table 88 – Object ParameterResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Table 89 – GE T / events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Table 90 – Device E vent log query parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Table 91 – Resourc es for IODDs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Table 92 – GE T /iodds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Table 93 – Object IODDIdentificat ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Table 94 – POS T /iodds/file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Table 95 – DELE TE /iodds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Table 96 – GE T /iodds/ file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Table 97 – Resourc es MQTT configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Table 98 – GE T /mqtt/configurat ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Table 99 – Object MQTTConfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Table 100 – Object LastWill. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Table 101 – POS T /mqtt/configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Table 102 – GE T /mqtt/topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Table 103 – Object MQTTtopic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Table 104 – Object MQTT ProcessDataTopic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Table 105 – POS T /mqtt/topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Table 106 – DELE TE /mqtt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Table 107 – GE T /mqtt/topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Table 108 – GE T /mqtt/connectionst atus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Table 109 – Object MQTTConnectionStat us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Table 110 – HTTP Stat us codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Table 111 – JSON Error codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Table 112 – Object CycleTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Table 113 – Object Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Table 114 – Object iolinkE rror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Table 115 – Object PowerSupply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Table 116 – Path Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
JS ON Int egration for IO-Link                                 –8–                                                  V ersion 1.0.0

 1   0      In troduction
 2   0. 1      General
 3   The bas e t echnology of IO -Link TM1 is s ubject matter of t he international s tandard IEC 61131-9
 4   (www. iec.ch). IEC 61131-9 is part of a series of standards on programmable controllers and the
 5   as s ociated peripherals and s hould be read in conjunction with other parts of t he s eries.

 6

 7   0. 2 P a tent declaration
 8   The IO-Link Community draws attention t o the fact t hat it is claimed that c ompliance with this
 9   doc ument may involve t he us e of pat ents c oncerning t he point -to-point s erial communication
10   int erface for small sensors and actuators as follows, where the [xx] notation indicates the holder
11   of t he pat ent right:

                  P a t e nt number                      [xx]         T i tle

12   IO-Link Community t akes no pos ition c oncerning t he evidence, validity and s c ope of these
13   pat ent rights.

14   The holders of t hese patents rights have assured t he IO-Link Community t hat t hey are willing
15   t o negotiate licences either free of c harge or under reasonable and non-discriminatory terms
16   and c onditions wit h applicants t hroughout t he world. In t his res pect, t he s t atements of the
17   holders of t hese patent rights are registered with the IO-Link Community.

18   Information may be obtained from:

                               [xx]                              Na m e and ad dress o f pa tent h older

19

20   A t t ention is drawn t o t he possibility t hat s ome of t he elements of t his document may be the
21   s ubject of pat ent rights ot her t han t hose identified above. The IO-Link Community s hall not be
22   held responsible for identifying any or all such patent rights.

23   The IO-Link Community maintains on-line dat a bases of pat ents relevant t o t heir s tandards.
24   Us ers are encouraged t o c onsult t he databases for t he most up t o date information concerning
25   pat ents.

26

     1   I O -L inkT M is a t rade n ame o f t he " IO-Link Co mmunit y". T his i nf ormation i s given f or t he convenience of users of
         t h i s sp e cification and d oes n ot const itute a n e ndorsement b y t he " IO -Link Co mmunity" o f the trade name holder
         o r a n y o f i ts p rodu cts. Compliance t o t his st a ndard d oes n ot re quire u se o f t he regist ered logos f o r IO -LinkTM.
         Use o f t h e registered logo s f or I O-LinkT M re quires p ermission of t he "IO -Link Co mmunit y".
JS ON Int egration for IO-Link                          –9–                                             V ersion 1.0.0

27                                            IO-Link JSON M apping
28   1      M o tivation and s cope
29   New us e c ases and requirements c oncerning t he int egration between modern IT s ystems and
30   t he production floor require new device interfaces. The c onnections t oday mainly focus on the
31   int egration of a device into fieldbuses and P LC systems. Cyclic data exchange and real time
32   are t he most important requirements for t oday field bus implementations. The t echniques used
33   are c ompletely different t han t he ones us ed for t he res t of t he IT world. On t he ot her hand,
34   modern automation devices provide a way t o c ommunicate over TCP/IP networks beside the
35   real t ime c ommunication with t he P LC over t he field bus.

36   This doc ument des cribes a devic e dat a model, objects and s emantics for mapping on IT
37   relevant c onnections or services.

38   This document describes a RE ST A PI

39          a) for dat a access t o IO-Link Masters, P orts and Devices and the Gateway.

40          b) for IODD file management (up/download).

41          c) for MQTT c lient configuration.

42

43   2      No r mative references

44   The following documents, in whole or in part, are normatively referenced in t his document and
45   are indispensable for its application. For dated references, only t he edition c ited applies. For
46   undat ed references, the latest edition of t he referenced document (including any amendments)
47   applies.

48   IO-Link Community, I O-Link I nt erface and S ystem S pecification, V ersion 1. 1.3, Order No.
49   10. 002 (available at http://www. io-link .com)

50   IO-Link Community, I O Device Description (IODD), V ersion 1. 1, Order No. 10.012

51

52   3      Te r ms, definitions, symbols, abbreviated terms and conventions

53   3. 1     Com mon terms a nd definitions
54   For t he purposes of t his document, t he t erms and definitions given in IE C 61131-1 and IEC
55   61131-2, as well as t he following apply.

56   C/ Q
57   The phy s ical digital I/ O interface of an IO -Link port usually used with M12 and M8 c onnectors
58   on P in 4. IO-Link communication runs physically over C/Q.

59   De vice
60   s ingle passive peer to a Master such as a s ensor or actuator.
61   NO T E : Uppercase " Device" is u se d for SDCI e quipment , while lowercase " device" is use d in a g eneric manner

62   I ODD
63   The XML bas ed IO Device Description of an IO-Link Device s ee [ 2].

64   I/Q
65   The phy s ical digital I/ O interface of an IO -Link port usually used with M12 and M8 c onnectors
66   on P in 2.
67   Ma ster
68   A c t ive peer c onnected t hrough port s t o one up t o n Devic es providing an int erface t o the
69   gat eway t o t he upper level c ommunication s ystems (e.g. P LCs or edge gateways) .
JS ON Int egration for IO-Link                               – 10 –                                      V ersion 1.0.0

70   NO T E : Uppercase "Mast er" is u se d for SDCI e quipment , while lowercase "ma st er" is u se d in a ge neric manner
71   m a sterNumber
72   This is t he number of a s pecific Master within t he gateway.

73   P ort
74   Communication interface of t he Master t o one Device.

75   portNumber
76   This is t he number of a s pecific port within t he Master .

77   SIO
78   S t andard Input Output mode. This c ould be a digital input or a digital output.

79   URL
80   This is a Uniform Resource Locator.

81

82   3. 2     S ym bols a nd a bbreviated terms
      DI                d i g ital input (dat a coming f rom a D evice to a Mast er)
      DO                d i g ital output (data g oing from a Mast er t o a Devic e)
      M /O/C            m a n datory, option al, con ditional se e 4. 5.1
      SMI               st a n d ardized Mast er interf ace se e [ 1]

83   3. 3     Conventions
84   3. 3.1     P l aceholders
85   S t rings t hat are embraced by {} are placeholders for variables. Placeholders within an URL are
86   pat h parameters.
87   NO T E : This convention is n ot applica ble f or JSON object s.

88

89   4      Ar ch itectural an d technical scope

90   4. 1   Ge neral objectives
91   A s s ummarized in t he IO -Link S ystem Description, an IO -Link s ystem c onsists of an IO -Link
92   Mas ter, IO-Link Devices and c ables c onnecting t he IO-Link Devices t o t he IO-Link Master.

93   A phy sical IO-Link Gateway c onsists of one or more Masters c ontaining one or more ports. See
94   Figure 1 – P hy sical Gateway models. On each port an IO-Link Device may be c onnected. The
95   phy sical IO-Link Gateway may also have one or more Gateway applications (e.g. Webserver,
96   OP C UA s erver or MQTT c lient).

97
JS ON Int egration for IO-Link                 – 11 –                                 V ersion 1.0.0

 98                                   Fi gure 1 – P hysi cal Gateway models

 99

100   4. 2   Fe atures
101   This s pecification s upports t wo features “IODD support” and “MQTT s upport”.

102   IODD s upport allows addressing and representation of dat a by names and dat a t ypes defined
103   in t he IODD.

104   MQTT s upport allows c onfiguration of an MQTT c lient (publisher) and t he c onnection to an
105   MQTT brok er.

106   B ot h features are optional.

107   4. 3   S e curity
108   For data security it is recommended to use TLS-PSK with AES for the transport layer security.
109

110   4. 4      De vice data and layer m odel
111   This device layer model (including Gateway, IO-Link Master and Devices) see Figure 2 is used
112   t o s t ructure t he RE ST A PI described in t his s pecification. This layer model comprises compact
113   modules containing one Master as well as modular devices with N Masters.

114

115

116

117                                      Fi gure 2 - De vice layer m odel
118

119   E ac h layer has resources which are addressed by a url path. The model s hows t hat a phys ical
120   Gat eway may have multiple gateway applications and one or more Masters. E ach Master has
121   one or more P orts and on each P ort no or one device is c onnected.

122   4. 5   Ge neral rules
123   V endor-specific extensions for RE ST API c ommands and JSON k ey -value pairs are allowed.

124   A JS ON for IO-Link S erver s hall ret urn an error on all REST A PI c ommands and JSON key -
125   value pairs t hat are not s upported.
126
JS ON Int egration for IO-Link                 – 12 –                                  V ersion 1.0.0

127   4. 5.1    Usa ge of M/O/C
128           It is mandatory to implement t he handling of objects and key value pairs that are marked
129            wit h “M”.

130           W hen sending an HTTP P ost request a client is not obligated to provide all objects or
131            k ey value pairs. The resource has t o be updated by merging t he newly received data
132            wit h t he existing data.

133   4. 5.2  Ma ster numbering
134   A ddressing of IO-Link Masters within a Gateway starts with number 1 for t he first Master.

135   4. 5.3    P ort numbering
136   A ddressing of IO-Link ports within a Master s tarts with number 1 for t he first port.

137   4. 5.4   De vice Naming
138   Devic es are accessed by names (aliases). Following rules for t he Device naming apply:

139       1. The default device alias is c reated based on Master number and P ort number in the
140          format master{masterNumber}port{portNumber}.

141       2. The default device alias c an be c hanged via port c onfiguration (s ee 5. 6.5.).

142       3. The definition of duplicated device names has t o be rejected.

143       4. A devic e name must only c ontain alphanumeric c haracters and underscores.

144       5. The minimum length of t he device name is 1 c haracter and t he maximum is 32.

145   Ex amples:

       "master2port4" is the default name of a device connected to port 4 of master 2
       "exampleSensor" this is a new assigned name to a device
146

147   4. 5.5    Acce ss ri ghts
148   A ll requests for writing data may be blocked due t o right restrictions. A lso resetting or rebooting
149   may not be allowed due to right restrictions. Requests for writing data without having permission
150   t o do s o will respond with an error. The data will remain unchanged.

151   It is rec ommended t o us e ac cess restrictions t o handle t he access of multiple c lients to the
152   s ame resource.

153   4. 5.6    Na m ing based on I ODD
154   It is opt ionally also possible t o access IO-Link data (comprising IO-Link P rocess Dat a and IO-
155   Link parameters) by name rather t han by i ndex and s ubindex. S ee [ 2].

156   Cons traints for strings in keys of JSON key-value-pairs (see [ 9]) and URLs require the following
157   c onversion rules for t hose names:

158   Rule 1: Names are based on t he IODD XML E lement Name inside variables or process data
159   res olving the t ext in primary language.

160   Rule 2: Only alphanumeric c haracters and underscores are allowed. A ll other c haracters are
161   replaced by " _".

162   Rule 3: Leading numbers s hall be prefixed with “_“.

163   Rule 4: If t here are duplicate IO-Link names, the IO-Link index or s ubindex has to be accessed
164   by appending t he index number or subindex number behind the name according t o the following
165   s c heme: {name}_{index} or {name}_{subindex}.
JS ON Int egration for IO-Link                                     – 13 –                                              V ersion 1.0.0

166   Rule 5: Naming according the scheme {name}_{index} or {name}_{subindex} is always
167   allowed even if names are not duplicated.

168   Rule 6: The naming of A rrayT elements is “ element_{subindex}”.

169   Ex amples:

170                                      Ta ble 1 – I ODD text conversi on rules examples

               I O DD te xt                              Na m e                           I S DU           Uni que name (Nam e_Index)
                                                                                    I nde x /subindex

       0 8 1 5 variable                  _ 0 8 15_varia ble                         3452                  _ 0 8 15_varia ble_3 452
       S wi t chp oint (Q1)              S wi t chp oint __Q1_                      345                   S wi t chp oint __Q1__345
                                                                  1
       External temperature              External_temperature                       311                   External_temperature_311
                                                                  1
       External temperature              External_temperature                       1423                  External_temperature_1423

       NOTE 1 this is a naming conflict (duplicate)

171

172   4. 5.7       Da ta type conversion
173   The following conversion rules in Table 2 apply for the data t ype mapping between IO -Link and
174   JS ON.

175                                                     Ta ble 2 – Da ta type conversion

                          I O -Li nk data type (see [1])                                       J S O N data type

                          B o o leanT                                             B o o lean
                          S t ri ngT                                              S t ri ng

                          A rra yT                                                A rra y

                          O ct e tS tringT                                        se e B yt e array c onversion 4 .5.8
                          I n t e gerT, Uint egerT                                Nu m b er

                          Fl o at 32T                                             Nu m b er
                          Re co rdT                                               O b j ect

                          T i meSpa nT                                            S t ri ng

                          T i meT                                                 S t ri ng

176

177   4. 5.8       Byte a rray conversi on
178   This is t he description on how t o map byte arrays t o JSON.

179   B it s equences t hat are not int erpretable wit hout us ing information out of t he IODD are
180   represented as JSON arrays of decimal numbers. One array item is representing one byte. If
181   t he value of t he bit s equence is not a multiple of 8, t he value is padded with zeros from t h e left
182   t o t he next byte border. Byte order is big-endian, see [ 1].

183   E x ample:

184                                        Ta ble 3 – Mapping example of a bit se quence

                                       V a l ue (bin)    Bi t l e ngth   V a l ue (hex)         Byte a r r ay (dec)

                                         10 0111         6               0 x2 7                [39]

                                        100 0000         15              0 x4 0 F0             [64, 240]
                                       1111 0000

185
JS ON Int egration for IO-Link                               – 14 –                                           V ersion 1.0.0

186   4. 5.9    Ti me format
187   A ny t ime values shall be represented either as an absolute t ime or a relative t ime in t he format
188   as s pecified in ISO 8601 (s ee [ 4]).
189   NO T E : Each italic lett er in the following format definitions is t o be re placed by one digit. The sq uare brackets indicate
190   t h a t an element is o ptional.

191   The format for absolute t ime is Y Y YY- MM-D DThh :mm: ss.f Z

192   Time format for relative t ime is P [ Y Y][ MM][ WW][ DD][ T[hH ][mM ][s[ .f]S ]]

193   Ex amples:

       Absolute time:           2018-05-18T07:31:54.123Z
       Relative time:           P3Y6M4DT12H30M17.123S

194

195   4. 5.10     Error Behavior
196   W hile processing HTTP requests errors may oc cur. There are s everal errors defined (see
197   appendix A .2). The body of an HTTP res ponse indicati ng an error c ontains t he E rror object as
198   defined in B .1.2.

199   The following general rules apply for t he error handling:

200          a) E rrors 101 and 150 (see appendix A .2) c an be returned t o each request.

201          b) If part s of P OST requests are not applicable, t he HTTP response has a different HTTP
202             s t atus c ode t hat 2xx. The body of t his HTTP response s hall c ontain t he E rror object as
203             defined in B .1.2.

204          c) If multiple errors occur while processing t he request only t he first detected error shall
205             be res ponded.

206          d) E rrors 305 and 306 (s ee A . 2) c an be ret urned t o requests when t here are query
207             parameters added t o t he URL.

208          e) If RE S T A PI c ommands are not available, error 103 (s ee A.2) shall be responded.

209

210   5      REST API

211   5. 1      URL
212   The bas e path for t his version is listed in Table 4.

213                                                    Ta ble 4 – Ba se path

                  Ba s e path                                              E x a m pl e                           M /O/C

                  /iolink/v1                  E xa m ple: “/ iolink/v1/mast ers/ 1/ports/ 2/ stat us”               M

214

215   5. 2  HTTP methods
216   The following HTTP methods s hall be used (details see [ 8]).

217                                                 Ta ble 5 – HTTP methods
218
                  HTTP M e thods                                         De s c ri ption                          M / O/C
                  GET                         Re q u est data f rom the se rver                                     M

                  POST                        T ra n smit dat a to t he se rver                                     M
JS ON Int egration for IO-Link                              – 15 –                                           V ersion 1.0.0

                   DE L E TE                  De l e te reso urces o n t he se rver                                M

                   O P T IO NS                L i st su pp ort ed HTTP met hods o f t he server                    O

219

220   5. 3  HTTP Requests / Re sponses
221   The URLs are build out of a bas e URL which is followed by a s ubsequent pat h. Query strings
222   are added optionally.

223   The HTTP request headers Content-type and Accept are s et to application/json by
224   default.

225                                             Ta ble 6 – Re sources overview
226
         Re s ourc e                           Cl a us e                               Re m a r k                       M /O/C

         /gateway                              0           A d d ress t h e Gat eway.                                     M

         /masters                              5.5         G e t a ll a vailable mast erNumber ke ys a nd                 M
                                                           i d e ntificatio n information.

         /masters/{masterNumber}               5.5         A d d ress a sp ecific mast er.                                M
         /masters/{masterNumber}               5.6.1       G e t a ll a vailable portNumber ke ys.                        M
         /ports
         /masters/{masterNumber}               5.6.1       A d d ress a sp ecific po rt of a spe cific M ast er.          M
         /ports
         /{portNumber}

         /devices                              5.7         A d d ress a ll Devices o f all Mast ers.                      M

         / devices/{deviceAlias}               5.7.3       A d d ress a sp ecific Devices b y n ame.                      M
                                                                                                                             2
         /mqtt                                 5.9         Co n f iguration of MQTT clien ts.                            C

         /iodds                                5.8         I O DD f ile han dling.                                       C1

         NO T E 1 t his re so urce is m andatory if th e IODD fe ature is su pporte d
         NO T E 2 t his re so urce is m andatory if th e MQTT f eature is su p port ed

227

228   E x a m pl es:

       HTTP://192.168.178.22/iolink/v1/gateway
       HTTP://192.168.178.22/iolink/v1/masters/1
       HTTP://192.168.178.22/iolink/v1/masters/2/ports/7
       HTTP://192.168.178.22/iolink/v1/devices/sensor34

229

230   5. 4     Ga teway
231                                             Ta ble 7 – Re sources Gateway
232
       Re s ourc es              Cl a us e     HTTP                                   De s c ri ption                    M /O/C
       / i ol i nk/v 1/gateway                M e thod

       / identification          5.4.1       GET           Re a d th e identification o f t he Gat eway                      M

       /capabilities             5.4.2       GET           Re a d th e capa bilities o f t he Gat eway                       M
       /configuration            5.4.3       GET           Re a d th e network configuration o f t he Gat eway               M

       /configuration            5.4.4       POST          Wri t e the network configuration o f t he Gat eway               M

       /reset                    5.4.5       POST          Re se t t he G ateway including all Mast ers                      O
       /reboot                   5.4.6       POST          Re b o ot t he Ga teway inclu ding all Mast ers                   O

       /events                   5.4.7       GET           Re a d th e EventLog containing all events f rom                  M
                                                           G a t e way , Mast ers, Ports a nd Devices.

233
JS ON Int egration for IO-Link                             – 16 –                                           V ersion 1.0.0

234       5. 4.1     GET / i dentification
235   Read t he identification of t he Gateway.

236

237                                              Ta ble 8 – GET / identification
238
                               De s c ri ption

       De scri ption           Re a d th e indentification of t he Gat ewa y.

       S yst e m B ehavior     No t h ing will be chang ed or modified.
       Path                    / g a t ewa y/identification

       Q u e ry parameters     –

       E rro rs                (se e A . 2), (se e 4. 5.10)
       S u ccess               HT T P 20 0 - OK

       Re q u est body         –

       Re sp o nse body        O b j ect Ga teway I dentificatio n (see Table 9)
239
240                                      Ta ble 9 – Object GatewayIdentification
241
       O bj ect                                                 G a te w ayIdentifica ti on

       P r ope rty                       Type                    V a l ue                       De s c ri ption         M /O/C
       macAddress                  st ri n g          e . g . "00:02 :72:CE:A 6:49"    M A C a ddress 6 b yt es           M

       serialNumber                st ri n g                                           V e n dor sp ecific                O

       productId                   st ri n g                                           V e n dor sp ecific                O

       vendorName                  st ri n g                                           V e n dor sp ecific                M

       productName                 st ri n g                                           V e n dor sp ecific                O

       hardwareRevision            st ri n g                                           V e n dor sp ecific                O

       firmwareRevision            st ri n g                                           V e n dor sp ecific                O

       productInstanceUri          st ri n g                                           V e n dor sp ecific                O

242

243   Ex ample:

244   Request

       GET /iolink/v1/gateway/identification

245   Res ponse

       {
           "macAddress": "00:02:72:CE:A6:49",
           "serialNumber": "C134A746",
           "productID": "TMP34Z",
           "vendorName": "SensorCompany",
           "productName": "FlowSensor34",
           "hardwareRevision": "V3.45",
           "firmwareRevision": "V1.30",
           "productInstanceUri": "sensor.tmp.23.com"
       }

246

247           5. 4.2      GET / capabilities
248   Read t he capabilities of t he IO -Link Gateway.
JS ON Int egration for IO-Link                                 – 17 –                                             V ersion 1.0.0

249

250                                              Ta ble 10 – GET / capabilities
251
                               De s c ri ption

       De scri ption           Re a d th e capa bilities o f t he IO-Link G at eway .
       S yst e m B ehavior     No t h ing will be chang ed or modified.

       Path                    / g a t ewa y/capabilities

       Q u e ry parameters     –
       E rro rs                (se e A . 2), se e 4 .5.10

       S u ccess               HT T P 20 0 - OK
       Re q u est body         –

       Re sp o nse body        O b j ect defined in Table 1 1 – O bject G atewayCapabilities
252
253
254                                       Ta ble 11 – Object GatewayCapabilities
255
       O bj ect                                                    G a te w ayCapabili ti es

       pr ope r ty                 Type                     V a l ue                           De s c ri ption                M /O/C
       i oddS uppo rted      b o o lean           t ru e , false                t ru e if the I ODD f eature is su p ported     M

       m qttS uppo rted      b o o lean           t ru e , false                t ru e if the MQTT feat ure is su pported       M

256

257   Ex ample:

258   Request

       GET /iolink/v1/gateway/capabilities

259   Res ponse

       {
           "ioddSupported": true,
           "mqttSupported": false
       }

260

261   5. 4.3       GET / configuration
262   Read t he actual active configuration of t he IO-Link Gateway. The Gateway may support multiple
263   IP v4 int erfaces.

264                                           Ta ble 12 – GET / configuration
265
                               De s c ri ption

       De scri ption           Re a d th e act ual active configuration of the I O-Link G ateway .

       S yst e m B ehavior     No t h ing will be chang ed or modified.
       Path                    / g a t ewa y/configuration

       Q u e ry parameters     –

       E rro rs                (se e A . 2), (se e 4. 5.10)
       S u ccess               HT T P 20 0 - OK

       Re q u est body         –
       Re sp o nse body         O b j ect d efined in Table 13 – O bject Gateway Co nfiguration
JS ON Int egration for IO-Link                             – 18 –                                                    V ersion 1.0.0

266

267
268                                       Ta ble 13 – Object GatewayConfiguration
269
       O bj ect                                                G a te w ayConfi guration

       P r ope rty            Type                                 V a l ue                              De s c ri ption         M /O/C

       ethIpv4                A rra y o f        O b j ects d efined in Table 14 – Object                                          M
                              o b j ect s        Ne t wo rkIn terfaceConfigu ratio n

270

271                            Ta ble 14 – Object NetworkInterfaceConfiguration
272
       O bj ect                                            Ne tw or kInterfaceConfigur ation

       P r ope rty            Type              V a l ue                               De s c ri ption                           M /O/C

       ipConfiguration        st ri n g     E num e ration:    M A NUA L: Assi gnment o f t he IP a ddress b y other               M2
                                            “M A NUAL ”        d e vice sp ecific means
                                            “DHCP ”            DHCP : RFC 2131 d efines t he “Dyn amic Host
                                                               Co n f iguration Prot ocol”, allowing a utomatic
                                            “A UT O _IP”       a ssi g n ment of I P addresse s.
                                            “DCP ”             A UT O _IP: RFC 3927 d efines “Dynamic
                                                               Co n f iguration of IPv4 Link-Local Addresse s" ,
                                                               a l l owing f ully -automatic a ssignmen t of Lin k-Local
                                                               I P a d dresse s.
                                                               DCP : P ROFINET defines t he “Discovery and
                                                               Co n f iguration Prot ocol”, a link-layer protocol that
                                                               a l l ows t he m anual assi gnment of IP a ddresse s.

       ipAddress              st ri n g                        e . g . 192.16 8.1.13                                               C1

       subnetMask             st ri n g                        e . g . 255.25 5.255.0                                              C1

       standardGateway        st ri n g                        e . g . 192.16 8.1.1                                                C1

       NO T E 1 O nly allowed for P OST if ipConfiguration is “M ANUA L” a nd Mandato ry fo r G ET.
       NO T E 2 F or PO ST a t least one o f t he methods sh all be implemente d

273

274   Ex ample:

275   Request

       GET /iolink/v1/gateway/configuration

276   Res ponse

       {
           "ethIpv4": [
             {
               "ipConfiguration": "MANUAL",
               "ipAddress": "192.168.1.13",
               "subnetMask": "255.255.255.0",
               "standardGateway": "192.168.1.1"
             }
           ]
       }

277

278   5. 4.4   P OS T / configuration
279   W rite configuration data t o t he gateway.
JS ON Int egration for IO-Link                          – 19 –                                            V ersion 1.0.0

280                                         Ta ble 15 – P OST / configuration
281
                             De s c ri ption

       De scri ption         Wri t e configuration dat a to t he gat eway.
       S yst e m B ehavior   I f t h ere are n o rest rictions t he values o f the object will be modified.
                             T h e respo nse sh all b e se nd prior to t he change of the I P configuration.

       Path                  / g a t ewa y/configuration

       Q u e ry parameters   –

       E rro rs              (se e A . 2 ), (see 4 .5.10)
       S u ccess             HT T P 20 4 - No Content

       Re q u est body       O b j ect defined in Table 1 3 – O bject G atewayConfiguration
       Re sp o nse body      –

282

283   Ex ample:

284   Request (changing an IP v4 interface)

       POST /iolink/v1/gateway/configuration

       {
           "ethIpv4": [
             {
               "ipConfiguration": "MANUAL",
               "ipAddress": "192.168.1.13",
               "subnetMask": "255.255.255.0",
               "standardGateway": "192.168.1.1"
             }
           ]
       }

285

286   5. 4.5   P OS T / reset
287   Invok e a res et of t he IO-Link Gateway. This may reset all configuration data and interrupt all
288   c ommunications c hannels. It is recommended t o log t his within t he E ventLog (s ee 5. 4.7).

289

290                                                 Ta ble 16 – P OST / reset
291
                             De s c ri ption

       De scri ption         I n vo ke a rese t of t he I O-Link G ateway.
       S yst e m B ehavior   I f t h ere are n o rest rictions t he resp onse will be given and f ollowing the Gate way will be
                             re se t .

       Path                  / g a t ewa y/rese t

       Q u e ry parameters   –

       E rro rs              (se e A . 2), (se e 4. 5.10)
       S u ccess             HT T P 20 4 - No Content

       Re q u est body       –
       Re sp o nse body      –

292

293   Ex ample:

294   Request
JS ON Int egration for IO-Link                              – 20 –                                           V ersion 1.0.0

        POST /iolink/v1/gateway/reset

295

296   5. 4.6        P OS T / reboot
297   Invok e a reboot of t he IO-Link Gateway. This may reset all c onfiguration data and interrupt all
298   c ommunications c hannels. It is recommended t o log t his within t he E ventLo g (s ee 5. 4.7).

299                                                   Ta ble 17 – P OST / reboot
300
                                De s c ri ption

        De scri ption           I n vo ke a reboot o f t he IO -Link G at eway .

        S yst e m B ehavior     I f t h ere are n o rest rictions t he resp onse will be given and f ollowing the Gate way will
                                re b o ot.

        Path                    / g a t ewa y/reboot
        Q u e ry parameters     –

        E rro rs                (se e A . 2), (se e 4. 5.10)

        S u ccess               HT T P 20 4 - No Content
        Re q u est body         –

        Re sp o nse body        –

301

302   Ex ample:

303   Request

        POST /iolink/v1/gateway/reboot

304

305   5. 4.7   GET / e vents
306   E ac h Gateway s hall have an E vent Log object c ontaining t he event s of t he devices, ports and
307   t he masters. The c ontent of t he E vent Log c an be read by getting t he object “Gateway Event
308   Log” (s ee Table 20 ).

309                                                    Ta ble 18 – GET /events
310
                               De s c ri ption

      De scri ption            Re a d th e Event Log. A filtered su bse t of the E ven t log object is a chieved by adding query
                               p a ra meters t o t he URL. If there a re no events t o resp ond t he “Gat eway Event L og” object s
                               i s e m pt y.

      S yst e m B ehavior      No t h ing will be chang ed or modified.

      Path                     / g a t ewa y/events
      Q u e ry parameters      E ve n t log q uery paramete rs (se e Ta ble 1 9)

      E rro rs                 (se e A . 2) , (see 4 .5.10)
      S u ccess                HT T P 20 0 - OK

      Re q u est body          –

      Re sp o nse body         O b j ect defined in Table 2 0 – O bject G atewayE vent Log
311

312                                     Ta ble 19 – Event l og query parameters
313
        Q ue r y par ameter                  V a l ues                                           Re m a r k
      origin                   E num e ration:                          De f a ult is A LL
JS ON Int egration for IO-Link                                    – 21 –                                                V ersion 1.0.0

                                      “A L L ”
                                      “G A T EWAY”
                                      “M A S TERS ”
                                      “P O RT S”
                                      “DE V I CES”

      masterNumber                    {m a st e rNumber}                      m a st e rNumber is o nly a pplicable wit h origin= MASTE RS
                                                                              a n d with o rigin=PO RTS

      portNumber                      {p o rt Number}                         p o rt Numb er is o nly applicable with o rigin=P ORTS

      deviceAlias                     {d e viceAlias}                         d e viceAlias is o nly a pplicable wit h origin= DE VICES
      top                             1 …n                                    De l ivers t he oldest n events o f t he event b uffer.
                                                                              t o p is m utually e xclu sive t o bot tom.

      bottom                          1 …n                                    De l ivers t he latest n e vent s of the e vent buff er.
                                                                              b o t t om i s mut ually exclusive t o t op.

314

315                                               Ta ble 20 – Object GatewayEventLog
316
       O bj ect                                                     G a te w ay EventLog

      P r ope rty       Type                                 V a l ue                                     De s c ri ption                M /O/C

      time             st ri n g     Re l a tive or a bsolute t ime as d efined in 4. 5.9     Wh e n t he event was l ogged                M

      severity         st ri n g     E num e ration:                                          I n d icates t he se verity of the           M
                                     “E M E RGENCY”                                           m e ssa g e. The se verit y is
                                                                                              d e cre asing from EME RGENCY to
                                     “A L E RT”                                               DE B UG .
                                     “CRI T ICAL”                                             Re f e rence is S yslog P rotocol
                                     “E RRO R”                                                RFC5 4 24 se e [ 5]
                                     “WA RNI NG ”
                                     “NO T I CE ”                                             I O -L ink E ventTypes sh all be
                                     “I NFO ”                                                 m a p ped as f ollowing:
                                     “DE B UG ”                                               " NO T IFICATI ON" to " NOTICE",
                                                                                              " WA RNI NG" to "WARNI NG ",
                                                                                              " E RRO R" to " ERRO R".
                                                                                              A l l severity level ca n also o ccur
                                                                                              o n g a teway an d mast er e vent
                                                                                              l e vel.

      origin           o b j ect     O b j ect defined in Table 2 1 – O bject O rigin                                                      M

      message          o b j ect     O b j ect defined in Table 2 2 – O bject Messa g e                                                    M

317

318                                                        Ta ble 21 – Object Origin
319
            O bj ect

         P r ope rty           Type                               V a l ue                                  De s c ri ption              M /O/C

      gateway                 st ri n g    ve n d or-sp ecific String                              T h is i s f or vendor sp ecific       C1
                                                                                                   o ri gins e . g. Web se rver
                                                                                                   a p p lication o r M QTT, e tc.

      masterNumber            n umber      {m a st e rNumber}                                                                             C2

      portNumber              n umber      {p o rt Number}                                                                                C3

      deviceAlias             st ri n g    {d e viceAlias}                                                                                C4
JS ON Int egration for IO-Link                               – 22 –                                             V ersion 1.0.0

      NO T E 1 O rigin gateway h as t o be u sed if the e vent comes f rom t he Gat eway .
      NO T E 2 O rigin masterNumber has t o b e use d if t he event comes f rom M aster, port or D evice.
      NO T E 3 O rigin portNumber ha s t o be use d i f t he event comes f rom port o r D evice.
      NO T E 4 O rigin deviceAlias has t o be use d if t he event comes f rom the D evice.

320

321                                                Ta ble 22 – Object Message
322
       O bj ect                                                    M e s sage

      P r operty     Type                                      V a l ue                                     De s c ri ption   M /O/C

      code         n u m ber   Co d e s a ccording to [ 1] A nnex D sh all be use d if t he origin is                          C1
                               d e vice or port

      mode         st ri n g   Co d e s a ccording to [ 1] 8 .2.2. 11 sh all be u sed if the o rigin is   S I NG L ESHOT       C1
                               d e vice or port                                                           A P P E ARS
                                                                                                          DI S A P PEARS

      text         st ri n g   M e ssa g e. (For I O-Link e vent code related messages (defined                                C1
                               i n [ 1] ) shall be u sed)

      NO T E 1 For IO -Link e vents cod e and mode a re mandatory, te xt is o ptional. For all ot her event s t ext is mandat ory
323

324   Ex amples:

325   E x ample 1: Reading all events of t he Gateway

326   Request

       GET /iolink/v1/gateway/events

327   Res ponse

       [
           {
             "time": "2018-05-18T07:31:54.123Z",
             "severity": "WARNING",
             "origin": {
               "masterNumber": 1,
               "portNumber": 1,
               "deviceAlias": "Temp_sensor_1"
             },
             "message": {
               "code": 16912,
               "mode": "APPEARS",
               "text": "Device temperature over-run – Clear source of heat"
             }
           },
           {
             "time": "2018-05-18T07:35:54.123Z",
             "severity": "NOTIFICATION",
             "origin": {
               "masterNumber": 1,
               "portNumber": 2
             },
             "message": {
               "code": 65314,
               "mode": "SINGLESHOT",
               "text": "Device communication lost"
             }
           }
       ]

328
JS ON Int egration for IO-Link                                  – 23 –                                             V ersion 1.0.0

329   E x ample 2: Request reading t he oldest 3 events of port 7 of master 2

       GET /iolink/v1/gateway/events?origin=PORTS&top=3&masterNumber=2&portNumber=7

330

331   E x ample 3: Request reading all events of master 3

       GET /iolink/v1/gateway/events?origin=MASTERS&masterNumber=3

332

333   5. 5    Ma ster
334   There c an be more t han one Mas ter addressed by one Gat eway. Ty pic al multi Master
335   applications are modular devices. Masters within a Gateway are addressed by “masterNumber”
336   whic h s tarts at 1 for t he first Master.

337   Ex ample:

       GET /iolink/v1/masters/1/capabilities

338

339   5. 5.1  GET / masters
340   This request is for scanning all Masters within a Gateway.

341

342                                                Ta ble 23 – GET /masters
343
                                De s c ri ption

       De scri ption            Re a d all the a vailable mast erNumber ke ys wi th th e corresp onding identificatio n
                                i n f ormation.

       S yst e m B ehavior      No t h ing will be chang ed or modified
       Path                     / m a st ers

       Q u e ry parameters      -

       E rro rs                 (se e A . 2), (se e 4. 5.10)
       S u ccess                HT T P 20 0 - OK

       Re q u est body          -
       Re sp o nse body         A rra y o f object defined in Table 2 4 – O bje ct Mast erId

344

345                                               Ta ble 24 – Object MasterId
346
       O bj ect                                                          M a s terI d

       P r ope rty                  Type               V a l ue                                De s c ri ption                 M /O/C

       m aste rNum ber       n u m ber            I n t e ger 1.. n      se e 4 . 5. 2                                           M

       s eria lNum ber       st ri n g                                   V e n dor sp ecific                                     O

       l ocat ionT ag        st ri n g                                   Co u l d be use d f or “sl ot” information f or the     O
                                                                         m o d ular model (see 4 .1)

347

348   Ex ample:

349   Request
You can also read