# Property of PMA Electrical Solutions, LLC. # # Danfoss VLT SOFT START MCD 200 series — MCD 201 and MCD 202. Not a VFD: no # speed reference, no reverse. The starter itself is pot-configured; there is # no keypad and no parameter register map. # # COMMUNICATION PATH THIS PROFILE ASSUMES: the clip-on **MCD Modbus Module, # order code 175G9000**. Modbus is not on the bare starter, and the register # map below is the MODULE's map. RS-485 on the module: B8 (+), B7 (GND), # B6 (-). # # The MCD 200 sees only the SHORT register block. MG17F702 p.5 is explicit: # "Registers 40600 and above are not compatible with MCD 200 soft starters. For # MCD 200, use registers 40002~40008." Everything the MCD 500 profile reads out # of the 40600 block is absent here. # # Sources — Danfoss primary only: # MG17F702 rev AQ265936451199en-000401 "MCD Modbus Module Instructions": # p.3 connection — the A1-N2 link, comms-inactive trip behaviour # p.4 supported function codes; MCD 200 reads 40003-40008, writes 40002 # p.5 register table 40002-40008 and the 40600 exclusion # p.8 trip code table, MCD 201 and MCD 202 applicability columns # p.9 worked examples; parameter up/download is MCD 500 ONLY # p.12 module settings: address, baud, parity, timeout ranges # MG.17.C2.02 "MCD 200 Design Guide": # pp.19-20 accessories — the 175G9000 module, and the feature matrix that # gives motor current and motor temperature to the MCD 202 but # NOT the MCD 201 # # ADDRESSING. Danfoss prints Modicon 4xxxx holding-register numbers. 0-based # protocol address = number - 40001, so 40002 Command -> 1, 40003 Status -> 2, # 40008 -> 7. MG17F702 never states the conversion outright; the ground for it # is Danfoss's own newer card (AQ277154312778 §5.2/§5.5.1), which calls its # Standard Mode "registers defined in the Modbus Protocol Specification" and # puts Command at 40001 — protocol address 0 in that specification. VERIFY ON A # BENCH BEFORE ARMING. It fails safe either way: one high puts the command # write on read-only status (Modbus error 03), one low on an unlisted register # (error 02). Neither is a start. # # STARTER-SIDE SETUP: for the module to accept serial commands a LINK MUST BE # FITTED ACROSS TERMINALS A1-N2 on the soft starter (MG17F702 p.3). Without it # the module answers reads and ignores commands. name = "Danfoss VLT MCD 201/202 (soft starter)" vendor = "Danfoss" device_type = "soft_starter" verified = false probe_register = 2 # 40003 starter status [connection] summary = "The bare MCD 201/202 has no Modbus port: fit the clip-on MCD Modbus Module 175G9000 and wire its B6/B7/B8 terminals." warnings = ["Isolate control and line power before fitting or removing the module.", "A hardwired A1-N2 link is required for serial commands; its absence can look like a software fault because reads still work."] [[connection.methods]] id = "modbus_module_175g9000" title = "MCD Modbus Module 175G9000" transport = "serial" hardware = "option" port = "Clip-on module terminals B8 (+), B7 (GND), B6 (-)" connector = "Module screw terminals" adapter = "Isolated USB-to-RS-485 adapter" cable = "Shielded twisted-pair RS-485 cable with optional reference conductor" parts = ["Danfoss MCD Modbus Module 175G9000", "Insulated screwdriver", "A1-N2 starter link"] wiring = [{ adapter = "D+ / B+", device = "B8 (+)", signal = "RS-485 positive" }, { adapter = "D- / A-", device = "B6 (-)", signal = "RS-485 negative" }, { adapter = "COM/GND", device = "B7 (GND)", signal = "RS-485 reference", required = false }] steps = ["Isolate the starter and fit module 175G9000 to the starter communication port.", "Fit the required A1-N2 link on the MCD 200 starter.", "Wire the shielded pair to B8 positive and B6 negative; use B7 for the reference conductor when required.", "Set the module switches, restore power, and select the computer's RS-485 port."] setup = ["Set the module DIP switches for a unique address, matching baud rate/parity, and a suitable communication timeout.", "Confirm the A1-N2 link before attempting any command."] warnings = ["This short register map is for MCD 201/202 only; registers 40600 and above are not supported.", "Do not use an MCD Modbus TCP module with this profile."] source = "Danfoss AQ265936451199en-000401 (MG17F702), pp. 3, 5, and 12; MG17C202, pp. 19-20" # NOT SOURCED. The module is DIP-switch configured and MG17F702 p.12 gives only # the ranges: 4800/9600/19200/38400, parity None/Odd/Even/10-bit, address 0-31. # No factory default is stated. Read the DIP switches off the module. The stop # bits are sourced: p.2 requires 2 stop bits with no parity, 1 with odd or even. [serial] baudrate = 9600 parity = "N" stopbits = 2 [monitor] # 40003. Bits 0-3 are a STATE VALUE, not flags: 1 Ready, 2 Starting, 3 Running, # 4 Stopping, 5 Restart delay, 6 Tripped, 7 Programming mode, 8 Jog forward, # 9 Jog reverse. Only bits 4-7 are flags, so only those are named. starter_status = { address = 2, bits = { 4 = "PositivePhaseSeq (only valid if bit 6)", 5 = "CurrentExceedsFLC", 6 = "Initialised", 7 = "RemoteOperator/CommsDeviceFault" } } trip_code = { address = 3 } # MCD 202 ONLY. The MCD 201 has no current or temperature measurement at all # (MG.17.C2.02 p.19 feature matrix), so on an MCD 201 these two read nothing # meaningful. 8-bit field: average 3-phase current in whole amps. motor_current = { address = 4, unit = "A" } motor_temperature = { address = 5, unit = "%" } # 40007 bits 0-2 parameter list version, bits 3-7 product type code (4 = MCD 200). product_info = { address = 6 } protocol_version = { address = 7 } # 40002 Command. The whole register is a VALUE, not a bit mask: # 1 Start, 2 Stop, 3 Reset, 4 Quick stop (coast), 5 Forced communication trip. # Reset is 3 and start is 1, so the reset value cannot be read as a start and # reset safely shares the command register. # Values 6/7 (start on parameter set 1/2) are MCD 500 features and are omitted. # # A soft starter has no speed reference and no reverse: neither speed_register # nor run_rev is defined, so `control speed` and `control run_rev` refuse. [control] command_register = 1 step_delay = 0.05 stop = [2] run_fwd = [1] reset = [3] # The module's Timeout DIP switch (None / 10 s / 60 s / 100 s). With a timeout # set, silence longer than it trips the starter on trip code 16 "Network # communication" and A RESET IS THEN REQUIRED before it will run. With the # switch on None nothing trips — a running motor keeps running with no master # attached. The DIP default is undocumented, so keep the link fed. [control.watchdog] interval_ms = 1000 fault = "trip code 16 Network communication (module Timeout DIP; disabled when set to None)" # 40004 trip code, bits 0-7, masked so a stray high byte cannot corrupt the # lookup. 255 means no trip — there is no 0 = healthy on this map. # Codes below are the MG17F702 p.8 table filtered to the MCD 201 and MCD 202 # columns; codes carried only by the MCD 500 (7, 9-14, 17, 26-31, 35, 36) are # deliberately omitted because these starters never report them. [faults] register = 3 mask = 0x00FF [faults.codes] 1 = "Excess start time (MCD 202)" 2 = "Motor overload, thermal model (MCD 202)" 3 = "Motor thermistor (MCD 202)" 4 = "Current imbalance (MCD 202)" 5 = "Frequency (mains supply)" 6 = "Phase sequence (MCD 202)" 8 = "Power loss / power circuit" 15 = "Starter communication (module to soft starter)" 16 = "Network communication (module to network)" 33 = "Time-overcurrent, bypass overload (MCD 202)" 255 = "No trip" # No [parameters]. MG17F702 p.10 states it outright: "Parameter information can # only be uploaded/downloaded from MCD 500 starters." The MCD 200 is configured # by trimpots on the front of the unit, so there is nothing to clone over # Modbus and no restore is possible. # # No [rating]. The map exposes only the product FAMILY code in 40007 bits 3-7 # (4 = MCD 200), not the frame size, so a rating comparison is impossible. # Read the type label by eye. # # No [running_check]. "Running" is the VALUE 3 in bits 0-3 of 40003, not a bit: # bit 1 alone is also set by Starting (2), Tripped (6) and Programming mode (7). # Commands therefore come back marked unverified. Read starter_status and # compare its low nibble to 3.