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
}
 

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 

Definition at line 47 of file CANopen.h.