The leader in industrial automation and control solutions

Introduction

All Maple Systems HMIs programmed with EBPro (EasyBuilder Pro), including every cMT X Series and cMT Series model, are compatible with BACnet BACnet/IP. Configure your Controller and HMI/cMT with the following parameters to establish reliable communication.

HMI Setting

ParametersRecommendedOptionsNotes
PLC typeBACnet/IP
PLC I/FEthernet
Port no.4780847808 is the standard communication port of BACnet protocol.
HMI port no.4780847808~47823
49152~65535
Different HMI ports are required when connecting multiple devices.
Device ID3425660~999999According to device.
PLC sta. no.1

[Who is]

Scan the device in the domain and obtain the device settings.

IP Address Settings dialog with the Who Is button highlighted, showing IP address 192.168.1.111, Port no. 47808, and Mode set to BACnet/IP to MS/TP Adapter.

NOTE: After pressing the [Who is] button, please select the network card in the same domain as the PLC.

Adapter Select dialog listing available network adapters with their IP addresses and subnet masks for selection.

[Mode]

  • Normal: General BACnet device
  • [BACnet/IP to MS/TP] Adapter

[Segments supported]

Device supports large packet segmentation.

Segments supported dropdown in IP Address Settings expanded, showing options: No-segmentation, Segmented-both, Segmented-transmit, Segmented-receive.

[Maximum APDU Length accepted]

The maximum APDU length that device can support.

Maximum APDU length accepted dropdown expanded, showing options including 50, 128, 206 (fits Lon Talk frame), 480 (fits ARCNET frame), 1024, and 1479 (fits ISO 8802-3 frame).

[Device ID]

0 ~ 4194302

IP Address Settings dialog with the Device ID field highlighted, showing a value of 342566 and the range 0~4194302.

[HMI port no]

Set the communication port between HMI and device.

IP Address Settings dialog with the HMI port no field highlighted, showing the value 47808.

BACnet/IP to MS/TP Adapter Setting

  1. When using BACnet/IP driver, please correctly set [Mode], [Segments supported], and [Maximum APDU length accepted] according to the actual device.
  2. As shown above, in BACnet/IP to MS/TP Adapter mode, [Network number] must follow the factory setting, and enter the device station number in [Device ID].
  3. [HMI port no]. default: 47808, can be filled in other effective value.
  4. [Ultimate destination MAC layer address]: Set the MAC address of the serially connected MSTP.
Distech Controls BACnet/IP to MS/TP adapter hardware device showing ETH and MS/TP ports, USB and PWR indicators.

BACnet/IP to MS/TP adapter

IP Address Settings dialog in BACnet/IP to MS/TP Adapter mode, with the Ultimate destination MAC layer address section highlighted showing MAC (Hex) fields and Length set to 6.

How to Import Tags

EBPro (EasyBuilder Pro) provides two ways to gain tag addresses. One is to directly get tag information via internet, another is to export the generated CSV file via SCADA, and then import to EBPro (EasyBuilder Pro). The following introduces how to import tag address information.

Step 1. Add BACnet/IP driver in System Parameters Settings

EBPro (EasyBuilder Pro) Device Settings dialog with BACnet/IP selected as the device type, showing Device ID 405, firmware V.4.40, and interface set to Ethernet.

Step 2. Correctly set the relevant parameters.

IP Address Settings dialog in Normal mode, showing Port no. 47808, Segments supported No-segmentation, HMI port no. 47808, and Device ID 342566.

Step 3. Get tag address information

Way 1: Click Tag Manager → Get Tag Info

Tag Information dialog showing a BACnet Device tree with AnalogInput, AnalogValue, BinaryInput, BinaryValue, and MultistateValue, with the Get Tag Info button highlighted.

Way 2: Import the CSV file generated by SCADA software.

NOTE: Support files exported by BACShark software.

SCADA Engine BACnet OPC Server object browser shown behind the System Parameter Settings window, with the Import Tag button highlighted in the device list.

BACnet mode select: Object type or Object name

When using Get tag or import SCADA software to create a CSV file, you can select BACnet mode. (EBPro (EasyBuilder Pro) V6.04.02 and later versions support this function)

BACnet mode select dialog offering two tag name options: Object type (example: (2,91)AnalogValue.PresentValue(ID#85)) and Object name (example: Setpoint High Limit.PresentValue(ID#85)).

Step 4. File imported successfully.

CSV file content is shown below; users can build the file and import:

  1. Object format
  2. OBJECT NAME (user defined tag name, EasyBuilder will start reading data from the 6th row of CSV file.), DEVICE ID, OBJECT TYPE (object ID) and INSTANCE (object address)
  3. File imported successfully message
Spreadsheet showing CSV file format with GROUP_ID, GROUP_NAME, DEVICE_ID, OBJECT_TYPE, INSTANCE, and OBJECT_NAME columns, with labeled sections a and b.

Take (10,2)File as an example, 10 represents object ID, 2 represents object address, File represents user defined name or default name.

Controller Tags browser with (10,2)File selected, showing a list of File-type objects including Device, File, Schedule, Calendar, and various BinaryInput and BinaryOutput entries.

Default Object Model

Object IDObject NameObject Structure
0Analog InputObjectName
0ObjectIdentifier
0ObjectType
0PresentValue
0PresentValue Array
0EventState
0OutOfService
0Units
0SubscribeCovTime
0HighLimit
0LowLimit
0DeadBand
0NotificationClass
0LimitEnable
0EventEnable
0NotifyType
0TimeDelay
0AckedTransitions
1Analog OutputObjectName
1ObjectIdentifier
1ObjectType
1PresentValue
1PresentValueArray
1EventState
1OutOfService
1Units
1Priority
1PriorityReset
1PriorityArray
1RelinquishDefault
1HighLimit
1LowLimit
1DeadBand
1NotificationClass
1LimitEnable
1EventEnable
1NotifyType
1TimeDelay
1AckedTransitions
2Analog ValueObjectName
2ObjectIdentifier
2ObjectType
2PresentValue
2PresentValueArray
2EventState
2OutOfService
2Units
2Priority
2PriorityReset
2PriorityArray
2RelinquishDefault
2HighLimit
2LowLimit
2Dead Band
2NotificationClass
2LimitEnable
2EventEnable
2NotifyType
2TimeDelay
2AckedTransitions
3Binary InputObjectName
3ObjectIdentifier
3ObjectType
3PresentValue
3PresentValueArray
3EventState
3OutOfService
3Polarity
3AlarmValue
3NotificationClass
3EventEnable
3NotifyType
3TimeDelay
3AckedTransitions
4Binary OutputObjectName
4ObjectIdentifier
4ObjectType
4PresentValue
4PresentValueArray
4EventState
4OutOfService
4Priority
4PriorityReset
4PriorityArray
4Polarity
4AlarmValue
4NotificationClass
4EventEnable
4NotifyType
4TimeDelay
4AckedTransitions
4RelinquishDefault
5Binary ValueObjectName
5ObjectIdentifier
5ObjectType
5PresentValue
5PresentValueArray
5EventState
5Priority
5PriorityReset
5PriorityArray
5OutOfService
5AlarmValue
5NotificationClass
5EventEnable
5NotifyType
5TimeDelay
5AckedTransitions
5RelinquishDefault
6CalendarObjectName
6ObjectIdentifier
6ObjectType
6PresentValue
6DateList Date
6DateList DateRange
6DateList WeekDay
6DateListControl
6DateListStatus
7CommandObjectName
7ObjectIdentifier
7ObjectType
7InProcess
7AllWritesSuccessful
8DeviceObjectName
8ObjectIdentifier
8ObjectType
8SystemStatus
8VendorName
8VendorIdentifier
8ModelName
8FirmwareRevision
8ApplicationSoftwareVersion
8ProtocolVersion
8ProtocolRevision
8MaxAPDUlengthAccepted
8SegmentationSupported
8ApduTimeout
8NumberOfAPDUretries
8DataBaseRevision
8MaxSegmentsAccepted
8UtcOffset
8DaylightSavingsStatus
8ApduSegmentTimeout
8BackupFailureTimeout
10FileObjectName
10ObjectIdentifier
10ObjectType
10FileType
10FileSize
10Archive
10ReadOnly
11GroupObjectName
11ObjectIdentifier
11ObjectType
11SettingGroup
13Multi State InputObjectName
13ObjectIdentifier
13ObjectType
13PresentValue
13EventState
13OutOfService
13NumberOfStates
13AckedTransitions
14Multi State OutputObjectName
14ObjectIdentifier
14ObjectType
14PresentValue
14EventState
14OutOfService
14NumberOfStates
14Priority
14PriorityReset
14PriorityArray
14AckedTransitions
14RelinquishDefault
15Notification ClassObjectName
15ObjectIdentifier
15ObjectType
15NotificationClass
15RecipientList
15ControlWord (1:Read / 2:Write)
16ProgramObjectName
16ObjectIdentifier
16ObjectType
17ScheduleObjectName
17ObjectIdentifier
17ObjectType
17PresentValue
17PriorityForWriting
17Reliability
17OutOfService
17WeeklyScheduleControl
17WeeklyScheduleStatus
17ExceptionScheduleControl
17ExceptionScheduleStatus
17ScheduleDefault
17WeeklySchedule_Monday
17WeeklySchedule_Tuesday
17WeeklySchedule_Wednesday
17WeeklySchedule_Thursday
17WeeklySchedule_Friday
17WeeklySchedule_Saturday
17WeeklySchedule_Sunday
17BACnetExceptionSchedule_Date
17BACnetExceptionSchedule_DateRange
17BACnetExceptionSchedule_WeekDay
17BACnetExceptionSchedule_Calendar
18AveragingObjectName
18ObjectIdentifier
18ObjectType
18MinimumValue
18AverageValue
18MaximumValue
18AttemptedSamples
18ValidSamples
18Window Interval
18WindowSamples
19Multi State ValueObjectName
19ObjectIdentifier
19ObjectType
19PresentValue
19EventState
19OutOfService
19NumberOfStates
19Priority
19PriorityReset
19PriorityArray
19AckedTransitions
19RelinquishDefault
20Trend LogObjectName
20ObjectIdentifier
20ObjectType
20Enable
20StopWhenFull
20BufferSize
20RecordCount
20TotalRecordCount
21Life Safety PointObjectName
21ObjectIdentifier
21ObjectType
21PresentValue
21TrackingValue
21EventState
21Reliability
21OutOfService
21Mode
21Silenced
22Life Safety ZoneObjectName
22ObjectIdentifier
22ObjectType
22PresentValue
22TrackingValue
22EventState
22Reliability
22OutofService
22Mode
22Silenced
23AccumulatorObjectName
23ObjectIdentifier
23ObjectType
23PresentValue
23PresentValueArray
23EventState
23OutOfService
23Scale
23Units
24Pulse ConverterObjectName
24ObjectIdentifier
24ObjectType
24PresentValue
24EventState
24OutOfService
24Units
24ScaleFactor
24AdjustValue
24Count

NOTE: Object name cannot include “#”.

NOTE: Group objects can only communicate when the Group_Member_List addresses are placed in the project editing screen.

Controller Tags panel showing Group_Member_List address entries with INT data type, along with ObjectIdentifier, ObjectName, ObjectType, and multiple PresentValue array entries.

Wiring Diagram

The diagram below shows the Ethernet cable wiring.

Ethernet straight-through patch cable wiring diagram showing all 8 wires (W/Orange, Orange, W/Green, Blue, W/Blue, Green, W/Brown, Brown) connected pin-to-pin on both ends.