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 MSTP. Configure your Controller and HMI/cMT with the following parameters to establish reliable communication.

Supports series: BACnet/MSTP protocol devices

HMI Settings

ParametersRecommendedOptionsNotes
PLC typeBACnet/MSTP
PLC I/FRS485-2W
Baud rate384009600, 19200, 38400
Data bits8
ParityNone
Stop bits1
Time out (sec)1.00.05 ~ 25.5
MAC00 ~ 254
HMI MAC11 ~ 127
Nmax_master1272 ~ 127
Npoll501 ~ 255
Device MAC address1*Note1
Device ID0*Note1
Network Address0Use Destination Specifier *Note1
Mac Layer Address Length1Use Destination Specifier *Note1
Mac(HEX)0Use Destination Specifier *Note1
Online simulatorNO
Extend address modeNO

*Note1: Press “Who is” to connect to the device to automatically obtain parameters or enter parameters manually.

Parameter Settings

Set MSTP Parameters of PC

Connect the MSTP device to the communication port of the PC. Follow the steps below to retrieve or directly set the communication parameters of the device.

  • [PC COM]: Set up the PC and device to connect to the COM port.
  • [Baud rate]: Set the baud rate of the device.
  • [PC MAC Address]: Set the BACnet MSTP MAC parameters of the PC. This setting item cannot be repeated with the device.
  • [Who is]: Retrieve the parameters of the MSTP device connected to the PC. If it cannot be retrieved, please check the above parameter settings.
  • [Use Destination Specifier]: Some MSTP devices will use [Destination Specifier], and the communication parameters need to be filled in [Network Address], [Mac Layer Address Length] and [MAC].
  • [Device MAC address]: Set the MAC address of the MSTP device.
  • [Device ID]: Set the ID of the MSTP device.
Parameter Settings dialog with PC COM set to COM7, Baud rate 38400, PC MAC address, Use Destination Specifier checkbox, and Who is button.

How to Import Tags

  1. Add BACnet Driver and Open Tag Manager

    In EBPro (EasyBuilder) System Parameter Settings add BACnet/MSTP driver, set the communication parameters, and then click the Tag Manager button.
    System Parameter Settings Device tab with BACnet/MSTP device listed and the Tag Manager button highlighted at the bottom.
  2. Connect Device and Scan for MAC

    Use a RS-232/RS-485 converter to connect the BACnet MS/TP unit with PC. Only one BACnet MS/TP unit is allowed. Set PC COM and Baud rate, click Who is button to find the MAC address and Device ID of the BACnet MS/TP unit.
    BACnet MS/TP Tag Manager showing COM Port Setting with PC COM and Baud rate fields, MAC/ID Setting with MAC address and Device ID, and the Scan Device button.
  3. Confirm Device Found

    If the device is found, the following message shows. Click OK.
    Accessible Nodes dialog listing discovered device 2013 with MAC Address 5.
  4. Retrieve Address Tag Info

    After getting the MAC address and Device ID, click Get Tag Info button to get the address tags.
    BACnet MS/TP Tag Manager with Device MAC address set to 5 and Device ID 2013, with the Get Tag Info button highlighted.
  5. Confirm Tags Imported Successfully

    If the tags are obtained successfully, the following message shows. Click OK.
    EasyBuilder Pro confirmation dialog with the message Imported tag information successfully and an OK button.
  6. Select and Import Device Tags

    In the Device Tags field, the tags with its check box selected can be imported. Click OK to complete the address import. Click Export All to save the address tags as a CSV file. If tag information cannot be obtained when creating a project, use [Import from CSV] to obtain tag information.
    BACnet MS/TP Tag Manager Device Tags panel showing AnalogInput and AnalogOutput tags with checkboxes selected, and the OK button highlighted.
  7. Add Additional BACnet Units

    To connect another BACnet/MSTP unit, please add the BACnet/MSTP driver in EasyBuilder System Parameter Settings again. The communication parameters will follow the settings of the firstly added unit. The way to get tag information is the same as illustrated in the preceding steps. Another way to get tag information is to click [Import from CSV] button in Tag Manager.
    System Parameter Settings Device tab listing Local HMI and two BACnet/MSTP Local PLC 1 entries with RS485 2W interface.

Notes:

  1. The MAC address and Device ID of certain BACnet MS/TP units can be gained by clicking [Scan Device] only at the first time the unit is powered up. To get this information in the same way again, please power up the unit again.
  2. Certain BACnet MS/TP units do not support [Scan Device] and [Get Tag Info].
  3. If the MAC address gained by clicking [Scan Device] does not match the one specified in EBPro (EasyBuilder Pro) Device Properties settings, a message shows as a reminder when [Get Tag Info] is clicked.

MSTP Model

After adding the driver and importing the tag, the user needs to set the MSTP Model. The setting path is as follows: [System Parameter Settings] → [Model]

  • [HMI MAC]: Set BACnet MSTP MAC parameters for HMI.
  • [Nmax_master]: Set the maximum MAC in the domain.
  • [Npoll]: Set the interval for sending polling packets (50 means that after receiving 50 tokens, polling will continue).
System Parameter Settings Model tab with HMI MAC set to 1, Nmax_master 127, and Npoll 50 fields highlighted.

Default Object Model

NOTE: Object name cannot include “#”.

Object IDObject NameObject Structure
0Analog InputObjectName
0Analog InputObjectIdentifier
0Analog InputObjectType
0Analog InputPresentValue
0Analog InputPresentValue Array
0Analog InputEventState
0Analog InputOutOfService
0Analog InputUnits
0Analog InputSubscribeCovTime
0Analog InputHighLimit
0Analog InputLowLimit
0Analog InputDeadBand
0Analog InputNotificationClass
0Analog InputLimitEnable
0Analog InputEventEnable
0Analog InputNotifyType
0Analog InputTimeDelay
0Analog InputAckedTransitions
1Analog OutputObjectName
1Analog OutputObjectIdentifier
1Analog OutputObjectType
1Analog OutputPresentValue
1Analog OutputPresentValueArray
1Analog OutputEventState
1Analog OutputOutOfService
1Analog OutputUnits
1Analog OutputPriority
1Analog OutputPriorityReset
1Analog OutputPriorityArray
1Analog OutputRelinquishDefault
1Analog OutputHighLimit
1Analog OutputLowLimit
1Analog OutputDeadBand
1Analog OutputNotificationClass
1Analog OutputLimitEnable
1Analog OutputEventEnable
1Analog OutputNotifyType
1Analog OutputTimeDelay
1Analog OutputAckedTransitions
2Analog ValueObjectName
2Analog ValueObjectIdentifier
2Analog ValueObjectType
2Analog ValuePresentValue
2Analog ValuePresentValueArray
2Analog ValueEventState
2Analog ValueOutOfService
2Analog ValueUnits
2Analog ValuePriority
2Analog ValuePriorityReset
2Analog ValuePriorityArray
2Analog ValueRelinquishDefault
2Analog ValueHighLimit
2Analog ValueLowLimit
2Analog ValueDead Band
2Analog ValueNotificationClass
2Analog ValueLimitEnable
2Analog ValueEventEnable
2Analog ValueNotifyType
2Analog ValueTimeDelay
2Analog ValueAckedTransitions
3Binary InputObjectName
3Binary InputObjectIdentifier
3Binary InputObjectType
3Binary InputPresentValue
3Binary InputPresentValueArray
3Binary InputEventState
3Binary InputOutOfService
3Binary InputPolarity
3Binary InputAlarmValue
3Binary InputNotificationClass
3Binary InputEventEnable
3Binary InputNotifyType
3Binary InputTimeDelay
3Binary InputAckedTransitions
4Binary OutputObjectName
4Binary OutputObjectIdentifier
4Binary OutputObjectType
4Binary OutputPresentValue
4Binary OutputPresentValueArray
4Binary OutputEventState
4Binary OutputOutOfService
4Binary OutputPriority
4Binary OutputPriorityReset
4Binary OutputPriorityArray
4Binary OutputPolarity
4Binary OutputAlarmValue
4Binary OutputNotificationClass
4Binary OutputEventEnable
4Binary OutputNotifyType
4Binary OutputTimeDelay
4Binary OutputAckedTransitions
4Binary OutputRelinquishDefault
5Binary ValueObjectName
5Binary ValueObjectIdentifier
5Binary ValueObjectType
5Binary ValuePresentValue
5Binary ValuePresentValueArray
5Binary ValueEventState
5Binary ValuePriority
5Binary ValuePriorityReset
5Binary ValuePriorityArray
5Binary ValueOutOfService
5Binary ValueAlarmValue
5Binary ValueNotificationClass
5Binary ValueEventEnable
5Binary ValueNotifyType
5Binary ValueTimeDelay
5Binary ValueAckedTransitions
5Binary ValueRelinquishDefault
7CommandObjectName
7CommandObjectIdentifier
7CommandObjectType
7CommandInProcess
7CommandAllWritesSuccessful
8DeviceObjectName
8DeviceObjectIdentifier
8DeviceObjectType
8DeviceSystemStatus
8DeviceVendorName
8DeviceVendorIdentifier
8DeviceModelName
8DeviceFirmwareRevision
8DeviceApplicationSoftwareVersion
8DeviceProtocolVersion
8DeviceProtocolRevision
8DeviceMaxAPDUlengthAccepted
8DeviceSegmentationSupported
8DeviceApduTimeout
8DeviceNumberOfAPDUretries
8DeviceDataBaseRevision
8DeviceMaxSegmentsAccepted
8DeviceUtcOffset
8DeviceDaylightSavingsStatus
8DeviceApduSegmentTimeout
8DeviceBackupFailureTimeout
10FileObjectName
10FileObjectIdentifier
10FileObjectType
10FileFileType
10FileFileSize
10FileArchive
10FileReadOnly
13Multi State InputObjectName
13Multi State InputObjectIdentifier
13Multi State InputObjectType
13Multi State InputPresentValue
13Multi State InputEventState
13Multi State InputOutOfService
13Multi State InputNumberOfStates
13Multi State InputAckedTransitions
14Multi State OutputObjectName
14Multi State OutputObjectIdentifier
14Multi State OutputObjectType
14Multi State OutputPresentValue
14Multi State OutputEventState
14Multi State OutputOutOfService
14Multi State OutputNumberOfStates
14Multi State OutputPriority
14Multi State OutputPriorityReset
14Multi State OutputPriorityArray
14Multi State OutputAckedTransitions
14Multi State OutputRelinquishDefault
16ProgramObjectName
16ProgramObjectIdentifier
16ProgramObjectType
18AveragingObjectName
18AveragingObjectIdentifier
18AveragingObjectType
18AveragingMinimumValue
18AveragingAverageValue
18AveragingMaximumValue
18AveragingAttemptedSamples
18AveragingValidSamples
18AveragingWindowInterval
18AveragingWindowSamples
19Multi State ValueObjectName
19Multi State ValueObjectIdentifier
19Multi State ValueObjectType
19Multi State ValuePresentValue
19Multi State ValueEventState
19Multi State ValueOutOfService
19Multi State ValueNumberOfStates
19Multi State ValuePriority
19Multi State ValuePriorityReset
19Multi State ValuePriorityArray
19Multi State ValueAckedTransitions
19Multi State ValueRelinquishDefault
20Trend LogObjectName
20Trend LogObjectIdentifier
20Trend LogObjectType
20Trend LogEnable
20Trend LogStopWhenFull
20Trend LogBufferSize
20Trend LogRecordCount
20Trend LogTotalRecordCount
21Life Safety PointObjectName
21Life Safety PointObjectIdentifier
21Life Safety PointObjectType
21Life Safety PointPresentValue
21Life Safety PointTrackingValue
21Life Safety PointEventState
21Life Safety PointReliability
21Life Safety PointOutOfService
21Life Safety PointMode
21Life Safety PointSilenced
22Life Safety ZoneObjectName
22Life Safety ZoneObjectIdentifier
22Life Safety ZoneObjectType
22Life Safety ZonePresentValue
22Life Safety ZoneTrackingValue
22Life Safety ZoneEventState
22Life Safety ZoneReliability
22Life Safety ZoneOutOfService
22Life Safety ZoneMode
22Life Safety ZoneSilenced
23AccumulatorObjectName
23AccumulatorObjectIdentifier
23AccumulatorObjectType
23AccumulatorPresentValue
23AccumulatorPresentValueArray
23AccumulatorEventState
23AccumulatorOutOfService
23AccumulatorScale
23AccumulatorUnits
24Pulse ConverterObjectName
24Pulse ConverterObjectIdentifier
24Pulse ConverterObjectType
24Pulse ConverterPresentValue
24Pulse ConverterEventState
24Pulse ConverterOutOfService
24Pulse ConverterUnits
24Pulse ConverterScaleFactor
24Pulse ConverterAdjustValue
24Pulse ConverterCount

Wiring Diagram

NOTE: The serial port pin assignments may vary between HMI models.

RS-485 2W

HMIDirectionPLC
Pin assignmentsRS485 2W
Terminal
Data-↔ (bidirectional)Data-
Data+↔ (bidirectional)Data+
GND↔ (bidirectional)GND