OpcUaCanOpen
CANopen OPC-UA server
CANopen.h File Reference

Go to the source code of this file.

Macros

#define CANOPEN_COBID_MASK   0x7FF
 
#define CANOPEN_OBJECT_MASK   0x780
 
#define CANOPEN_NODEID_MASK   0x07F
 
#define CANOPEN_NMT_COBID   0x000
 
#define CANOPEN_SYNC_COBID   0x080
 
#define CANOPEN_EMERGENCY_COBID   CANOPEN_SYNC_COBID
 
#define CANOPEN_TIMESTAMP_COBID   0x100
 
#define CANOPEN_TPDO1_COBID   0x180
 
#define CANOPEN_RPDO1_COBID   0x200
 
#define CANOPEN_TPDO2_COBID   0x280
 
#define CANOPEN_RPDO2_COBID   0x300
 
#define CANOPEN_TPDO3_COBID   0x380
 
#define CANOPEN_RPDO3_COBID   0x400
 
#define CANOPEN_TPDO4_COBID   0x480
 
#define CANOPEN_RPDO4_COBID   0x500
 
#define CANOPEN_SDOSERVER_COBID   0x580
 
#define CANOPEN_SDOCLIENT_COBID   0x600
 
#define CANOPEN_NODEGUARD_COBID   0x700
 
#define CANOPEN_BOOTUP_COBID   CANOPEN_NODEGUARD_COBID
 
#define CANOPEN_LSSREQ_COBID   0x7E5
 
#define CANOPEN_LSSREPLY_COBID   0x7E4
 
#define NMT_START_REMOTE_NODE   1
 
#define NMT_STOP_REMOTE_NODE   2
 
#define NMT_ENTER_PREOPERATIONAL_STATE   0x80
 
#define NMT_RESET_NODE   0x81
 
#define NMT_RESET_COMMUNICATION   0x82
 
#define NMT_INITIALISING   0
 
#define NMT_DISCONNECTED   1
 
#define NMT_CONNECTING   2
 
#define NMT_PREPARING   3
 
#define NMT_STOPPED   4
 
#define NMT_OPERATIONAL   5
 
#define NMT_PREOPERATIONAL   127
 
#define NMT_STATE_MASK   0x7F
 
#define NMT_TOGGLE_MASK   0x80
 
#define SDO_COMMAND_SPECIFIER_MASK   (7<<5)
 
#define SDO_INITIATE_DOWNLOAD_REQ   (1<<5)
 
#define SDO_DOWNLOAD_SEGMENT_REQ   (0<<5)
 
#define SDO_INITIATE_UPLOAD_REQ   (2<<5)
 
#define SDO_UPLOAD_SEGMENT_REQ   (3<<5)
 
#define SDO_INITIATE_DOWNLOAD_RESP   (3<<5)
 
#define SDO_DOWNLOAD_SEGMENT_RESP   (1<<5)
 
#define SDO_INITIATE_UPLOAD_RESP   (2<<5)
 
#define SDO_UPLOAD_SEGMENT_RESP   (0<<5)
 
#define SDO_ABORT_TRANSFER   (4<<5)
 
#define SDO_EXPEDITED   (1<<1)
 
#define SDO_TOGGLE_BIT   (1<<4)
 
#define SDO_LAST_SEGMENT   (1<<0)
 
#define SDO_SEGMENT_SIZE_INDICATED   (1<<0)
 
#define SDO_DATA_SIZE_INDICATED   (1<<0)
 
#define SDO_SEGMENT_SIZE_MASK   (0x7<<1)
 
#define SDO_DATA_SIZE_MASK   (0x3<<2)
 
#define SDO_SEGMENT_SIZE_SHIFT   1
 
#define SDO_DATA_SIZE_SHIFT   2
 
#define SDO_ECLASS_SERVICE   5
 
#define SDO_ECLASS_ACCESS   6
 
#define SDO_ECLASS_OTHER   8
 
#define SDO_ECODE_PAR_INCONSISTENT   3
 
#define SDO_ECODE_PAR_ILLEGAL   4
 
#define SDO_ECODE_ACCESS   1
 
#define SDO_ECODE_NONEXISTENT   2
 
#define SDO_ECODE_HARDWARE   6
 
#define SDO_ECODE_TYPE_CONFLICT   7
 
#define SDO_ECODE_ATTRIBUTE   9
 
#define SDO_ECODE_OKAY   0
 
#define OD_DEVICE_TYPE   0x1000
 
#define OD_ERROR_REG   0x1001
 
#define OD_STATUS_REG   0x1002
 
#define OD_DEVICE_NAME   0x1008
 
#define OD_HW_VERSION   0x1009
 
#define OD_SW_VERSION   0x100A
 
#define OD_GUARDTIME   0x100C
 
#define OD_LIFETIME_FACTOR   0x100D
 
#define OD_STORE_PARAMETERS   0x1010
 
#define OD_DFLT_PARAMETERS   0x1011
 
#define OD_HEARTBEAT_TIME   0x1017
 
#define OD_IDENTITY   0x1018
 
#define OD_STORE_ALL   1
 
#define OD_STORE_COMM_PARS   2
 
#define OD_STORE_APP_PARS   3
 
#define OD_OBJECT_ENTRIES   0
 
#define OD_RPDO1_PAR   0x1400
 
#define OD_RPDO1_MAP   0x1600
 
#define OD_TPDO1_PAR   0x1800
 
#define OD_TPDO2_PAR   0x1801
 
#define OD_TPDO3_PAR   0x1802
 
#define OD_TPDO4_PAR   0x1803
 
#define OD_PDO_COBID   1
 
#define OD_PDO_TRANSMTYPE   2
 
#define OD_PDO_INHIBITTIME   3
 
#define OD_PDO_DUMMY_ENTRY   4
 
#define OD_PDO_EVENT_TIMER   5
 
#define OD_TPDO1_MAP   0x1A00
 
#define OD_TPDO2_MAP   0x1A01
 
#define OD_TPDO3_MAP   0x1A02
 
#define OD_TPDO4_MAP   0x1A03
 
#define OD_SERIAL_NO   0x3100
 
#define OD_SN_WRITE_ENA   0x3101
 
#define OD_CAN_CONFIG   0x3200
 
#define OD_NODEID_CONFIG   0x3300
 
#define OD_NODEID_WRITE_ENA   0x3301
 
#define OD_SWITCH_TO_LOADER   0x5E00
 
#define OD_DIGITAL_IN_8   0x6000
 
#define OD_DIGIN_INTRPT_ENA   0x6005
 
#define OD_DIGIN_INTRPT_MSK   0x6006
 
#define OD_DIGITAL_OUT_8   0x6200
 
#define OD_DIGITAL_OUT_8_MSK   0x6208
 
#define OD_DIGITAL_OUT_1   0x6220
 
#define OD_ANALOG_IN   0x6404
 

Enumerations

enum  NMTcommand {
  nop = 0, start = NMT_START_REMOTE_NODE, stop = NMT_STOP_REMOTE_NODE, preOperational = NMT_ENTER_PREOPERATIONAL_STATE,
  reset = NMT_RESET_NODE, nop = 0, start = NMT_START_REMOTE_NODE, stop = NMT_STOP_REMOTE_NODE,
  preOperational = NMT_ENTER_PREOPERATIONAL_STATE, reset = NMT_RESET_NODE, nop = 0, start = NMT_START_REMOTE_NODE,
  stop = NMT_STOP_REMOTE_NODE, preOperational = NMT_ENTER_PREOPERATIONAL_STATE, reset = NMT_RESET_NODE, nop = 0,
  start = NMT_START_REMOTE_NODE, stop = NMT_STOP_REMOTE_NODE, preOperational = NMT_ENTER_PREOPERATIONAL_STATE, reset = NMT_RESET_NODE
}
 

Macro Definition Documentation

◆ CANOPEN_BOOTUP_COBID

#define CANOPEN_BOOTUP_COBID   CANOPEN_NODEGUARD_COBID

Definition at line 34 of file CANopen.h.

◆ CANOPEN_COBID_MASK

#define CANOPEN_COBID_MASK   0x7FF

Definition at line 15 of file CANopen.h.

◆ CANOPEN_EMERGENCY_COBID

#define CANOPEN_EMERGENCY_COBID   CANOPEN_SYNC_COBID

Definition at line 21 of file CANopen.h.

◆ CANOPEN_LSSREPLY_COBID

#define CANOPEN_LSSREPLY_COBID   0x7E4

Definition at line 36 of file CANopen.h.

◆ CANOPEN_LSSREQ_COBID

#define CANOPEN_LSSREQ_COBID   0x7E5

Definition at line 35 of file CANopen.h.

◆ CANOPEN_NMT_COBID

#define CANOPEN_NMT_COBID   0x000

Definition at line 19 of file CANopen.h.

◆ CANOPEN_NODEGUARD_COBID

#define CANOPEN_NODEGUARD_COBID   0x700

Definition at line 33 of file CANopen.h.

◆ CANOPEN_NODEID_MASK

#define CANOPEN_NODEID_MASK   0x07F

Definition at line 17 of file CANopen.h.

◆ CANOPEN_OBJECT_MASK

#define CANOPEN_OBJECT_MASK   0x780

Definition at line 16 of file CANopen.h.

◆ CANOPEN_RPDO1_COBID

#define CANOPEN_RPDO1_COBID   0x200

Definition at line 24 of file CANopen.h.

◆ CANOPEN_RPDO2_COBID

#define CANOPEN_RPDO2_COBID   0x300

Definition at line 26 of file CANopen.h.

◆ CANOPEN_RPDO3_COBID

#define CANOPEN_RPDO3_COBID   0x400

Definition at line 28 of file CANopen.h.

◆ CANOPEN_RPDO4_COBID

#define CANOPEN_RPDO4_COBID   0x500

Definition at line 30 of file CANopen.h.

◆ CANOPEN_SDOCLIENT_COBID

#define CANOPEN_SDOCLIENT_COBID   0x600

Definition at line 32 of file CANopen.h.

◆ CANOPEN_SDOSERVER_COBID

#define CANOPEN_SDOSERVER_COBID   0x580

Definition at line 31 of file CANopen.h.

◆ CANOPEN_SYNC_COBID

#define CANOPEN_SYNC_COBID   0x080

Definition at line 20 of file CANopen.h.

◆ CANOPEN_TIMESTAMP_COBID

#define CANOPEN_TIMESTAMP_COBID   0x100

Definition at line 22 of file CANopen.h.

◆ CANOPEN_TPDO1_COBID

#define CANOPEN_TPDO1_COBID   0x180

Definition at line 23 of file CANopen.h.

◆ CANOPEN_TPDO2_COBID

#define CANOPEN_TPDO2_COBID   0x280

Definition at line 25 of file CANopen.h.

◆ CANOPEN_TPDO3_COBID

#define CANOPEN_TPDO3_COBID   0x380

Definition at line 27 of file CANopen.h.

◆ CANOPEN_TPDO4_COBID

#define CANOPEN_TPDO4_COBID   0x480

Definition at line 29 of file CANopen.h.

◆ NMT_CONNECTING

#define NMT_CONNECTING   2

Definition at line 61 of file CANopen.h.

◆ NMT_DISCONNECTED

#define NMT_DISCONNECTED   1

Definition at line 60 of file CANopen.h.

◆ NMT_ENTER_PREOPERATIONAL_STATE

#define NMT_ENTER_PREOPERATIONAL_STATE   0x80

Definition at line 43 of file CANopen.h.

◆ NMT_INITIALISING

#define NMT_INITIALISING   0

Definition at line 59 of file CANopen.h.

◆ NMT_OPERATIONAL

#define NMT_OPERATIONAL   5

Definition at line 64 of file CANopen.h.

◆ NMT_PREOPERATIONAL

#define NMT_PREOPERATIONAL   127

Definition at line 65 of file CANopen.h.

◆ NMT_PREPARING

#define NMT_PREPARING   3

Definition at line 62 of file CANopen.h.

◆ NMT_RESET_COMMUNICATION

#define NMT_RESET_COMMUNICATION   0x82

Definition at line 45 of file CANopen.h.

◆ NMT_RESET_NODE

#define NMT_RESET_NODE   0x81

Definition at line 44 of file CANopen.h.

◆ NMT_START_REMOTE_NODE

#define NMT_START_REMOTE_NODE   1

Definition at line 41 of file CANopen.h.

◆ NMT_STATE_MASK

#define NMT_STATE_MASK   0x7F

Definition at line 67 of file CANopen.h.

◆ NMT_STOP_REMOTE_NODE

#define NMT_STOP_REMOTE_NODE   2

Definition at line 42 of file CANopen.h.

◆ NMT_STOPPED

#define NMT_STOPPED   4

Definition at line 63 of file CANopen.h.

◆ NMT_TOGGLE_MASK

#define NMT_TOGGLE_MASK   0x80

Definition at line 68 of file CANopen.h.

◆ OD_ANALOG_IN

#define OD_ANALOG_IN   0x6404

Definition at line 187 of file CANopen.h.

◆ OD_CAN_CONFIG

#define OD_CAN_CONFIG   0x3200

Definition at line 167 of file CANopen.h.

◆ OD_DEVICE_NAME

#define OD_DEVICE_NAME   0x1008

Definition at line 125 of file CANopen.h.

◆ OD_DEVICE_TYPE

#define OD_DEVICE_TYPE   0x1000

Definition at line 122 of file CANopen.h.

◆ OD_DFLT_PARAMETERS

#define OD_DFLT_PARAMETERS   0x1011

Definition at line 131 of file CANopen.h.

◆ OD_DIGIN_INTRPT_ENA

#define OD_DIGIN_INTRPT_ENA   0x6005

Definition at line 178 of file CANopen.h.

◆ OD_DIGIN_INTRPT_MSK

#define OD_DIGIN_INTRPT_MSK   0x6006

Definition at line 179 of file CANopen.h.

◆ OD_DIGITAL_IN_8

#define OD_DIGITAL_IN_8   0x6000

Definition at line 177 of file CANopen.h.

◆ OD_DIGITAL_OUT_1

#define OD_DIGITAL_OUT_1   0x6220

Definition at line 184 of file CANopen.h.

◆ OD_DIGITAL_OUT_8

#define OD_DIGITAL_OUT_8   0x6200

Definition at line 182 of file CANopen.h.

◆ OD_DIGITAL_OUT_8_MSK

#define OD_DIGITAL_OUT_8_MSK   0x6208

Definition at line 183 of file CANopen.h.

◆ OD_ERROR_REG

#define OD_ERROR_REG   0x1001

Definition at line 123 of file CANopen.h.

◆ OD_GUARDTIME

#define OD_GUARDTIME   0x100C

Definition at line 128 of file CANopen.h.

◆ OD_HEARTBEAT_TIME

#define OD_HEARTBEAT_TIME   0x1017

Definition at line 132 of file CANopen.h.

◆ OD_HW_VERSION

#define OD_HW_VERSION   0x1009

Definition at line 126 of file CANopen.h.

◆ OD_IDENTITY

#define OD_IDENTITY   0x1018

Definition at line 133 of file CANopen.h.

◆ OD_LIFETIME_FACTOR

#define OD_LIFETIME_FACTOR   0x100D

Definition at line 129 of file CANopen.h.

◆ OD_NODEID_CONFIG

#define OD_NODEID_CONFIG   0x3300

Definition at line 169 of file CANopen.h.

◆ OD_NODEID_WRITE_ENA

#define OD_NODEID_WRITE_ENA   0x3301

Definition at line 170 of file CANopen.h.

◆ OD_OBJECT_ENTRIES

#define OD_OBJECT_ENTRIES   0

Definition at line 138 of file CANopen.h.

◆ OD_PDO_COBID

#define OD_PDO_COBID   1

Definition at line 149 of file CANopen.h.

◆ OD_PDO_DUMMY_ENTRY

#define OD_PDO_DUMMY_ENTRY   4

Definition at line 152 of file CANopen.h.

◆ OD_PDO_EVENT_TIMER

#define OD_PDO_EVENT_TIMER   5

Definition at line 153 of file CANopen.h.

◆ OD_PDO_INHIBITTIME

#define OD_PDO_INHIBITTIME   3

Definition at line 151 of file CANopen.h.

◆ OD_PDO_TRANSMTYPE

#define OD_PDO_TRANSMTYPE   2

Definition at line 150 of file CANopen.h.

◆ OD_RPDO1_MAP

#define OD_RPDO1_MAP   0x1600

Definition at line 142 of file CANopen.h.

◆ OD_RPDO1_PAR

#define OD_RPDO1_PAR   0x1400

Definition at line 141 of file CANopen.h.

◆ OD_SERIAL_NO

#define OD_SERIAL_NO   0x3100

Definition at line 164 of file CANopen.h.

◆ OD_SN_WRITE_ENA

#define OD_SN_WRITE_ENA   0x3101

Definition at line 165 of file CANopen.h.

◆ OD_STATUS_REG

#define OD_STATUS_REG   0x1002

Definition at line 124 of file CANopen.h.

◆ OD_STORE_ALL

#define OD_STORE_ALL   1

Definition at line 134 of file CANopen.h.

◆ OD_STORE_APP_PARS

#define OD_STORE_APP_PARS   3

Definition at line 136 of file CANopen.h.

◆ OD_STORE_COMM_PARS

#define OD_STORE_COMM_PARS   2

Definition at line 135 of file CANopen.h.

◆ OD_STORE_PARAMETERS

#define OD_STORE_PARAMETERS   0x1010

Definition at line 130 of file CANopen.h.

◆ OD_SW_VERSION

#define OD_SW_VERSION   0x100A

Definition at line 127 of file CANopen.h.

◆ OD_SWITCH_TO_LOADER

#define OD_SWITCH_TO_LOADER   0x5E00

Definition at line 172 of file CANopen.h.

◆ OD_TPDO1_MAP

#define OD_TPDO1_MAP   0x1A00

Definition at line 156 of file CANopen.h.

◆ OD_TPDO1_PAR

#define OD_TPDO1_PAR   0x1800

Definition at line 145 of file CANopen.h.

◆ OD_TPDO2_MAP

#define OD_TPDO2_MAP   0x1A01

Definition at line 157 of file CANopen.h.

◆ OD_TPDO2_PAR

#define OD_TPDO2_PAR   0x1801

Definition at line 146 of file CANopen.h.

◆ OD_TPDO3_MAP

#define OD_TPDO3_MAP   0x1A02

Definition at line 158 of file CANopen.h.

◆ OD_TPDO3_PAR

#define OD_TPDO3_PAR   0x1802

Definition at line 147 of file CANopen.h.

◆ OD_TPDO4_MAP

#define OD_TPDO4_MAP   0x1A03

Definition at line 159 of file CANopen.h.

◆ OD_TPDO4_PAR

#define OD_TPDO4_PAR   0x1803

Definition at line 148 of file CANopen.h.

◆ SDO_ABORT_TRANSFER

#define SDO_ABORT_TRANSFER   (4<<5)

Definition at line 88 of file CANopen.h.

◆ SDO_COMMAND_SPECIFIER_MASK

#define SDO_COMMAND_SPECIFIER_MASK   (7<<5)

Definition at line 73 of file CANopen.h.

◆ SDO_DATA_SIZE_INDICATED

#define SDO_DATA_SIZE_INDICATED   (1<<0)

Definition at line 95 of file CANopen.h.

◆ SDO_DATA_SIZE_MASK

#define SDO_DATA_SIZE_MASK   (0x3<<2)

Definition at line 97 of file CANopen.h.

◆ SDO_DATA_SIZE_SHIFT

#define SDO_DATA_SIZE_SHIFT   2

Definition at line 99 of file CANopen.h.

◆ SDO_DOWNLOAD_SEGMENT_REQ

#define SDO_DOWNLOAD_SEGMENT_REQ   (0<<5)

Definition at line 77 of file CANopen.h.

◆ SDO_DOWNLOAD_SEGMENT_RESP

#define SDO_DOWNLOAD_SEGMENT_RESP   (1<<5)

Definition at line 83 of file CANopen.h.

◆ SDO_ECLASS_ACCESS

#define SDO_ECLASS_ACCESS   6

Definition at line 106 of file CANopen.h.

◆ SDO_ECLASS_OTHER

#define SDO_ECLASS_OTHER   8

Definition at line 107 of file CANopen.h.

◆ SDO_ECLASS_SERVICE

#define SDO_ECLASS_SERVICE   5

Definition at line 105 of file CANopen.h.

◆ SDO_ECODE_ACCESS

#define SDO_ECODE_ACCESS   1

Definition at line 112 of file CANopen.h.

◆ SDO_ECODE_ATTRIBUTE

#define SDO_ECODE_ATTRIBUTE   9

Definition at line 116 of file CANopen.h.

◆ SDO_ECODE_HARDWARE

#define SDO_ECODE_HARDWARE   6

Definition at line 114 of file CANopen.h.

◆ SDO_ECODE_NONEXISTENT

#define SDO_ECODE_NONEXISTENT   2

Definition at line 113 of file CANopen.h.

◆ SDO_ECODE_OKAY

#define SDO_ECODE_OKAY   0

Definition at line 117 of file CANopen.h.

◆ SDO_ECODE_PAR_ILLEGAL

#define SDO_ECODE_PAR_ILLEGAL   4

Definition at line 111 of file CANopen.h.

◆ SDO_ECODE_PAR_INCONSISTENT

#define SDO_ECODE_PAR_INCONSISTENT   3

Definition at line 110 of file CANopen.h.

◆ SDO_ECODE_TYPE_CONFLICT

#define SDO_ECODE_TYPE_CONFLICT   7

Definition at line 115 of file CANopen.h.

◆ SDO_EXPEDITED

#define SDO_EXPEDITED   (1<<1)

Definition at line 91 of file CANopen.h.

◆ SDO_INITIATE_DOWNLOAD_REQ

#define SDO_INITIATE_DOWNLOAD_REQ   (1<<5)

Definition at line 76 of file CANopen.h.

◆ SDO_INITIATE_DOWNLOAD_RESP

#define SDO_INITIATE_DOWNLOAD_RESP   (3<<5)

Definition at line 82 of file CANopen.h.

◆ SDO_INITIATE_UPLOAD_REQ

#define SDO_INITIATE_UPLOAD_REQ   (2<<5)

Definition at line 78 of file CANopen.h.

◆ SDO_INITIATE_UPLOAD_RESP

#define SDO_INITIATE_UPLOAD_RESP   (2<<5)

Definition at line 84 of file CANopen.h.

◆ SDO_LAST_SEGMENT

#define SDO_LAST_SEGMENT   (1<<0)

Definition at line 93 of file CANopen.h.

◆ SDO_SEGMENT_SIZE_INDICATED

#define SDO_SEGMENT_SIZE_INDICATED   (1<<0)

Definition at line 94 of file CANopen.h.

◆ SDO_SEGMENT_SIZE_MASK

#define SDO_SEGMENT_SIZE_MASK   (0x7<<1)

Definition at line 96 of file CANopen.h.

◆ SDO_SEGMENT_SIZE_SHIFT

#define SDO_SEGMENT_SIZE_SHIFT   1

Definition at line 98 of file CANopen.h.

◆ SDO_TOGGLE_BIT

#define SDO_TOGGLE_BIT   (1<<4)

Definition at line 92 of file CANopen.h.

◆ SDO_UPLOAD_SEGMENT_REQ

#define SDO_UPLOAD_SEGMENT_REQ   (3<<5)

Definition at line 79 of file CANopen.h.

◆ SDO_UPLOAD_SEGMENT_RESP

#define SDO_UPLOAD_SEGMENT_RESP   (0<<5)

Definition at line 85 of file CANopen.h.

Enumeration Type Documentation

◆ NMTcommand

enum NMTcommand
Enumerator
nop 
start 
stop 
preOperational 
reset 
nop 
start 
stop 
preOperational 
reset 
nop 
start 
stop 
preOperational 
reset 
nop 
start 
stop 
preOperational 
reset 

Definition at line 47 of file CANopen.h.