Modbus TCP
Setup Information
The following list indicates important setup information for running in Modbus TCP. Ensure that the master is setup with the same configuration.
Port 502 - Modbus-TCP uses port 502. This is fixed.
Holding register addressing depends on the system used. Refer to your modbus master documentation to understand the address format.
Additional information is below to list the most common address types
Max holding registers for read and write is 16
Use function code 0x10 for write single register. Function code 0x06 is not supported.
All registers are 32-bit
Exceptions are the registers used used directly in the CM1-T Library (IEC 61131-3).
32-bit word mapping is little endian
Holding Register List
Included below is a table which details the location and function of the CM1 Modbus registers.
The addresses included below are referenced to the Modbus data model (PLC address for read/write to holding registers)
Note: Even if Direct Control is not used the Direct Control feedback registers can be useful for reading back motor information.
Motor Information
Holding Register Address | Motor Parameter | Read Access | Write Access | |
---|---|---|---|---|
Base Address | Modicon Address | |||
0 | 40001 | Position Error (?95) | Yes | No |
2 | 40003 | Motor Position (?96) | Yes | No |
4 | 40005 | Motor Speed (?97) | Yes | No |
6 | 40007 | Motor Torque (?98) | Yes | No |
8 | 40009 | Motor Status (?99) | Yes | No |
Variables
Holding Register Address | Motor Parameter | Read Access | Write Access | |
---|---|---|---|---|
Base Address | Modicon Address | |||
10 | 40011 | V0 | Yes | Yes |
12 | 40013 | V1 | Yes | Yes |
14 | 40015 | V2 | Yes | Yes |
16 | 40017 | V3 | Yes | Yes |
18 | 40019 | V4 | Yes | Yes |
20 | 40021 | V5 | Yes | Yes |
22 | 40023 | V6 | Yes | Yes |
24 | 40025 | V7 | Yes | Yes |
26 | 40027 | V8 | Yes | Yes |
28 | 40029 | V9 | Yes | Yes |
30 | 40031 | V10 | Yes | Yes |
32 | 40033 | V11 | Yes | Yes |
34 | 40035 | V12 | Yes | Yes |
36 | 40037 | V13 | Yes | Yes |
38 | 40039 | V14 | Yes | Yes |
40 | 40041 | V15 | Yes | Yes |
Direct Registers
Holding Register Address | Motor Parameter | Read Access | Write Access | |
---|---|---|---|---|
Base Address | Modicon Address | |||
42 | 40043 | P0 | Yes | Yes |
44 | 40045 | S0 | Yes | Yes |
46 | 40047 | A0 | Yes | Yes |
48 | 40049 | V0 | Yes | Yes |
50 | 40051 | R0 | Yes | Yes |
52 | 40053 | M0 | Yes | Yes |
Inputs/Outputs
Holding Register Address | Motor Parameter | Read Access | Write Access | |
---|---|---|---|---|
Base Address | Modicon Address | |||
54 | 40055 | Analog Output | Yes | Yes |
56 | 40057 | Input Status (?70) | Yes | No |
58 | 40059 | Output Status (?50) | Yes | Yes |
Positions
Holding Register Address | Motor Parameter | Read Access | Write Access | |
---|---|---|---|---|
Base Address | Modicon Address | |||
200 | 40201 | P0 | Yes | Yes |
202 | 40203 | P1 | Yes | Yes |
204 | 40205 | P2 | Yes | Yes |
206 | 40207 | P3 | Yes | Yes |
208 | 40209 | P4 | Yes | Yes |
210 | 40211 | P5 | Yes | Yes |
212 | 40213 | P6 | Yes | Yes |
214 | 40215 | P7 | Yes | Yes |
216 | 40217 | P8 | Yes | Yes |
218 | 40219 | P9 | Yes | Yes |
220 | 40221 | P10 | Yes | Yes |
222 | 40223 | P11 | Yes | Yes |
224 | 40225 | P12 | Yes | Yes |
226 | 40227 | P13 | Yes | Yes |
228 | 40229 | P14 | Yes | Yes |
230 | 40231 | P15 | Yes | Yes |
232 | 40233 | P16 | Yes | Yes |
234 | 40235 | P17 | Yes | Yes |
236 | 40237 | P18 | Yes | Yes |
238 | 40239 | P19 | Yes | Yes |
240 | 40241 | P20 | Yes | Yes |
242 | 40243 | P21 | Yes | Yes |
244 | 40245 | P22 | Yes | Yes |
246 | 40247 | P23 | Yes | Yes |
248 | 40249 | P24 | Yes | Yes |
250 | 40251 | P25 | Yes | Yes |
R Registers
Holding Register Address | Motor Parameter | Read Access | Write Access | |
---|---|---|---|---|
Base Address | Modicon Address | |||
300 | 40301 | R0 | Yes | Yes |
302 | 40303 | R1 | Yes | Yes |
304 | 40305 | R2 | Yes | Yes |
306 | 40307 | R3 | Yes | Yes |
308 | 40309 | R4 | Yes | Yes |
310 | 40311 | R5 | Yes | Yes |
312 | 40313 | R6 | Yes | Yes |
314 | 40315 | R7 | Yes | Yes |
316 | 40317 | P8 | Yes | Yes |
318 | 40319 | P9 | Yes | Yes |
320 | 40321 | R10 | Yes | Yes |
322 | 40323 | R11 | Yes | Yes |
324 | 40325 | R12 | Yes | Yes |
326 | 40327 | R13 | Yes | Yes |
328 | 40329 | R14 | Yes | Yes |
330 | 40331 | R15 | Yes | Yes |
332 | 40333 | R16 | Yes | Yes |
334 | 40335 | R17 | Yes | Yes |
336 | 40337 | R18 | Yes | Yes |
338 | 40339 | R19 | Yes | Yes |
340 | 40341 | R20 | Yes | Yes |
342 | 40343 | R21 | Yes | Yes |
344 | 40345 | R22 | Yes | Yes |
346 | 40347 | R23 | Yes | Yes |
348 | 40349 | R24 | Yes | Yes |
350 | 40351 | R25 | Yes | Yes |
N Registers
Holding Register Address | Motor Parameter | Read Access | Write Access | |
---|---|---|---|---|
Base Address | Modicon Address | |||
400 | 40401 | N0 | Yes | Yes |
402 | 40403 | N1 | Yes | Yes |
404 | 40405 | N2 | Yes | Yes |
406 | 40407 | N3 | Yes | Yes |
408 | 40409 | N4 | Yes | Yes |
410 | 40411 | N5 | Yes | Yes |
412 | 40413 | N6 | Yes | Yes |
414 | 40415 | N7 | Yes | Yes |
416 | 40417 | N8 | Yes | Yes |
418 | 40419 | N9 | Yes | Yes |
420 | 40421 | N10 | Yes | Yes |
422 | 40423 | N11 | Yes | Yes |
424 | 40425 | N12 | Yes | Yes |
426 | 40427 | N13 | Yes | Yes |
428 | 40429 | N14 | Yes | Yes |
430 | 40431 | N15 | Yes | Yes |
432 | 40433 | N16 | Yes | Yes |
434 | 40435 | N17 | Yes | Yes |
436 | 40437 | N18 | Yes | Yes |
438 | 40439 | N19 | Yes | Yes |
440 | 40441 | N20 | Yes | Yes |
442 | 40443 | N21 | Yes | Yes |
444 | 40445 | N22 | Yes | Yes |
446 | 40447 | N23 | Yes | Yes |
448 | 40449 | N24 | Yes | Yes |
450 | 40451 | N25 | Yes | Yes |
Speeds
Holding Register Address | Motor Parameter | Read Access | Write Access | |
---|---|---|---|---|
Base Address | Modicon Address | |||
602 | 40603 | S0 | Yes | Yes |
604 | 40605 | S1 | Yes | Yes |
606 | 40607 | S2 | Yes | Yes |
608 | 40609 | S3 | Yes | Yes |
610 | 40611 | S4 | Yes | Yes |
612 | 40613 | S5 | Yes | Yes |
614 | 40615 | S6 | Yes | Yes |
616 | 40617 | S7 | Yes | Yes |
618 | 40619 | S8 | Yes | Yes |
620 | 40621 | S9 | Yes | Yes |
622 | 40623 | S10 | Yes | Yes |
624 | 40625 | S11 | Yes | Yes |
626 | 40627 | S12 | Yes | Yes |
628 | 40629 | S13 | Yes | Yes |
630 | 40631 | S14 | Yes | Yes |
632 | 40633 | S15 | Yes | Yes |
Accelerations
Holding Register Address | Motor Parameter | Read Access | Write Access | |
---|---|---|---|---|
Base Address | Modicon Address | |||
634 | 40635 | A0 | Yes | Yes |
636 | 40637 | A1 | Yes | Yes |
638 | 40639 | A2 | Yes | Yes |
640 | 40641 | A3 | Yes | Yes |
642 | 40643 | A4 | Yes | Yes |
644 | 40645 | A5 | Yes | Yes |
646 | 40647 | A6 | Yes | Yes |
648 | 40649 | A7 | Yes | Yes |
650 | 40651 | A8 | Yes | Yes |
Torques
Holding Register Address | Motor Parameter | Read Access | Write Access | |
---|---|---|---|---|
Base Address | Modicon Address | |||
652 | 40653 | M0 | Yes | Yes |
654 | 40655 | M1 | Yes | Yes |
656 | 40657 | M2 | Yes | Yes |
658 | 40659 | M3 | Yes | Yes |
660 | 40661 | M4 | Yes | Yes |
662 | 40663 | M5 | Yes | Yes |
664 | 40665 | M6 | Yes | Yes |
666 | 40667 | M7 | Yes | Yes |
668 | 40669 | M8 | Yes | Yes |
K Parameters
Holding Register Address | Motor Parameter | Read Access | Write Access | |
---|---|---|---|---|
Base Address | Modicon Address | |||
670 | 40671 | RESERVED | Yes | No |
672 | 40673 | K1 | Yes | No |
674 | 40675 | K2 | Yes | No |
676 | 40677 | K3 | Yes | No |
678 | 40679 | K4 | Yes | No |
680 | 40681 | K5 | Yes | No |
682 | 40683 | K6 | Yes | No |
684 | 40685 | K7 | Yes | No |
686 | 40687 | K8 | Yes | No |
688 | 40689 | K9 | Yes | No |
690 | 40691 | K10 | Yes | No |
692 | 40693 | K11 | Yes | No |
694 | 40695 | K12 | Yes | No |
696 | 40697 | K13 | Yes | No |
698 | 40699 | K14 | Yes | No |
700 | 40701 | K15 | Yes | No |
702 | 40703 | K16 | Yes | No |
704 | 40705 | K17 | Yes | No |
706 | 40707 | K18 | Yes | No |
708 | 40709 | K19 | Yes | No |
710 | 40711 | K20 | Yes | Yes |
712 | 40713 | K21 | Yes | Yes |
714 | 40715 | K22 | Yes | Yes |
716 | 40717 | K23 | Yes | Yes |
718 | 40719 | K24 | Yes | Yes |
720 | 40721 | K25 | Yes | Yes |
722 | 40723 | K26 | Yes | Yes |
724 | 40725 | K27 | Yes | Yes |
726 | 40727 | K28 | Yes | Yes |
728 | 40729 | K29 | Yes | Yes |
730 | 40731 | K30 | Yes | Yes |
732 | 40733 | K31 | Yes | Yes |
734 | 40735 | K32 | Yes | Yes |
736 | 40737 | K33 | Yes | Yes |
738 | 40739 | K34 | Yes | Yes |
740 | 40741 | K35 | Yes | Yes |
742 | 40743 | K36 | Yes | Yes |
744 | 40745 | K37 | Yes | Yes |
746 | 40747 | K38 | Yes | Yes |
748 | 40749 | K39 | Yes | Yes |
750 | 40751 | K40 | Yes | Yes |
752 | 40753 | K41 | Yes | Yes |
754 | 40755 | K42 | Yes | Yes |
756 | 40757 | K43 | Yes | Yes |
758 | 40759 | K44 | Yes | Yes |
760 | 40761 | K45 | Yes | Yes |
762 | 40763 | K46 | Yes | Yes |
764 | 40765 | K47 | Yes | Yes |
766 | 40767 | K48 | Yes | Yes |
768 | 40769 | K49 | Yes | Yes |
770 | 40771 | K50 | Yes | Yes |
772 | 40773 | K51 | Yes | Yes |
774 | 40775 | K52 | Yes | Yes |
776 | 40777 | K53 | Yes | Yes |
778 | 40779 | K54 | Yes | Yes |
780 | 40781 | K55 | Yes | Yes |
782 | 40783 | K56 | Yes | Yes |
784 | 40785 | K57 | Yes | Yes |
786 | 40787 | K58 | Yes | Yes |
788 | 40789 | K59 | Yes | Yes |
790 | 40791 | K60 | Yes | Yes |
792 | 40793 | K61 | Yes | Yes |
794 | 40795 | K62 | Yes | Yes |
796 | 40797 | K63 | Yes | Yes |
798 | 40799 | K64 | Yes | Yes |
800 | 40801 | K65 | Yes | Yes |
802 | 40803 | K66 | Yes | Yes |
804 | 40805 | K67 | Yes | Yes |
806 | 40807 | K68 | Yes | Yes |
808 | 40809 | K69 | Yes | Yes |
810 | 40811 | K70 | Yes | Yes |
812 | 40813 | K71 | Yes | Yes |
814 | 40815 | K72 | Yes | Yes |
816 | 40817 | K73 | Yes | Yes |
818 | 40819 | K74 | Yes | Yes |
820 | 40821 | K75 | Yes | Yes |
822 | 40823 | K76 | Yes | Yes |
824 | 40825 | K77 | Yes | Yes |
826 | 40827 | K78 | Yes | Yes |
828 | 40829 | K79 | Yes | Yes |
830 | 40831 | K80 | Yes | Yes |
832 | 40833 | K81 | Yes | Yes |
834 | 40835 | K82 | Yes | Yes |
836 | 40837 | K83 | Yes | Yes |
838 | 40839 | K84 | Yes | Yes |
840 | 40841 | K85 | Yes | Yes |
842 | 40843 | K86 | Yes | Yes |
844 | 40845 | K87 | Yes | Yes |
846 | 40847 | K88 | Yes | Yes |
848 | 40849 | K89 | Yes | Yes |
874 | 40875 | RESERVED | No | Yes |
H Gain Parameters
Holding Register Address | Motor Parameter | Read Access | Write Access | |
---|---|---|---|---|
Base Address | Modicon Address | |||
900 | 40901 | H0 | Yes | Yes |
902 | 40903 | H1 | Yes | Yes |
904 | 40905 | H2 | Yes | Yes |
906 | 40907 | H3 | Yes | Yes |
908 | 40909 | H4 | Yes | Yes |
910 | 40911 | H5 | Yes | Yes |
912 | 40913 | H6 | Yes | Yes |
914 | 40915 | H7 | Yes | Yes |
Timers
Holding Register Address | Motor Parameter | Read Access | Write Access | |
---|---|---|---|---|
Base Address | Modicon Address | |||
950 | 40951 | T0 | Yes | No |
952 | 40953 | T1 | Yes | Yes |
954 | 40955 | T2 | Yes | Yes |
956 | 40957 | T3 | Yes | Yes |
958 | 40959 | T4 | Yes | Yes |
960 | 40961 | T5 | Yes | Yes |
962 | 40963 | T6 | Yes | Yes |
964 | 40965 | T7 | Yes | Yes |
966 | 40967 | T8 | Yes | Yes |
Direct Control Registers
Holding Register Address | Motor Parameter | Read Access | Write Access | |
---|---|---|---|---|
Base Address | Modicon Address | |||
1000 | 41001 | CPUTime | Yes | No |
1002 | 41003 | ActualPosition | Yes | No |
1004 | 41005 | ActualTargetPosition | Yes | No |
1006 | 41007 | MotorStatus | Yes | No |
1008 | 41009 | ActualRatedCurrent | Yes | No |
1010 | 41011 | ActualOverloadTorque | Yes | No |
1012 | 41013 | AnalogIn | Yes | No |
1014 | 41015 | DigitalIn | Yes | No |
1016 | 41017 | Temperature | Yes | No |
1018 | 41019 | DCVoltage | Yes | No |
1020 | 41021 | N/A | Yes | No |
1022 | 41023 | ModeOfOperationDisplay | Yes | No |
1024 | 41025 | N/A | Yes | No |
1026 | 41027 | ActualSpeed | Yes | No |
1028 | 41029 | TargetPosition | Yes | Yes |
1030 | 41031 | TargetSpeed | Yes | Yes |
1032 | 41033 | TargetTorque | Yes | Yes |
1034 | 41035 | TargetAcceleration | Yes | Yes |
1036 | 41037 | TargetDeceleration | Yes | Yes |
1038 | 41039 | Controlword | Yes | Yes |
1040 | 41041 | ModeOfOperation | Yes | Yes |
1042 | 41043 | DigitalOut | Yes | Yes |
CM1-T Library Mapped Registers
The set of registers below are typically used when mapping the Modbus read and write messages directly to a data structure.
This is often achieved using function code 0x23 (read/write in single message)
The data structure should break the DINT register into the respective variables.
The CM1-T Library has been developed to be used with IEC 61131-3 IDEs such as Codesys, Machine Expert and TwinCAT. See Examples and Demos.
Holding Register Address | Motor Parameter | Read Access | Write Access | |
---|---|---|---|---|
Base Address | Modicon Address | |||
Read Registers | ||||
1100 | 41101 | us50Counter (DINT) | Yes | No |
1102 | 41103 | ActualPosition (DINT) | Yes | No |
1104 | 41105 | MotionTarget (DINT) | Yes | No |
1106 | 41107 | ActualVelocity (DINT) | Yes | No |
1108 | 41109 | MotorStatus (INT) PercentActualCurrent (INT) | Yes | No |
1110 | 41111 | PercentOverloadTorque (INT) AnalogIN (INT) | Yes | No |
1112 | 41113 | DCVoltage (INT) DigitalIO (SINT) Temperature (SINT) | Yes | No |
1114 | 41115 | ModeOfOperationDisplay (SINT) ErrorCode (SINT) ReadAddress1 (INT) | Yes | No |
1116 | 41117 | ReadValue1 (DINT) | Yes | No |
Write Registers | ||||
1200 | 41201 | TargetPosition (DINT) | Yes | Yes |
1202 | 41203 | TargetVelocity (DINT) | Yes | Yes |
1204 | 41205 | TargetTorque (INT) TargetAcceleration (INT) | Yes | Yes |
1206 | 41207 | TargetDeceleration (INT) ControlWord (INT) | Yes | Yes |
1208 | 41209 | ModeOfOperation (SINT) DigitalOUT (SINT) WriteAddress1 (INT) | Yes | Yes |
1210 | 41211 | WriteValue1 (DINT) | Yes | Yes |
1212 | 41213 | ReadAddress1 (INT) PAD (INT) | Yes | Yes |