The leader in industrial automation and control solutions

PWM Module Buffer Memory

To write to buffer memory, use the TO instruction.

To read from buffer memory, use the FROM instruction.

Please refer to the table below for writing to and reading from buffer memory.

The IO-SD0032PPWM expansion module reserves 64 WORDs of buffer memory.

Memory Address
(Hexadecimal)
Memory Address
(Decimal)
DetailsReadWrite
00H0PWM Output Enable
01H1Frequency 1, 2, 3, and 4
02H2Frequency 5, 6, 7, and 8
03H3Frequency 9, 10, 11, and 12
04H4Reserved
05H5Frequency RAMP Control Time
Channels 1, 2, 3, and 4
06H6Frequency RAMP Control Time
Channels 5, 6, 7, and 8
07H7Frequency RAMP Control Time
Channels 9, 10, 11, and 12
08H8Reserved
09H9Error Code
0AH10Channel 1 DUTY Cycle Ration
0BH11Channel 2 DUTY Cycle Ration
0CH12Channel 3 DUTY Cycle Ration
0DH13Channel 4 DUTY Cycle Ration
0EH14Channel 5 DUTY Cycle Ration
0FH15Channel 6 DUTY Cycle Ration
10H16Channel 7 DUTY Cycle Ration
11H17Channel 8 DUTY Cycle Ration
12H18Channel 9 DUTY Cycle Ration
13H19Channel 10 DUTY Cycle Ration
14H20Channel 11 DUTY Cycle Ration
15H21Channel 12 DUTY Cycle Ration
16H22Reserved
17H23Reserved
18H24Reserved
19H25Reserved
1AH26Reserved
1BH27Reserved
1CH28Reserved
1DH29Reserved
1EH30Channel 1 DUTY Cycle RAMP Time (× 10ms)
1FH31Channel 2 DUTY Cycle RAMP Time (× 10ms)
20H32Channel 3 DUTY Cycle RAMP Time (× 10ms)
21H33Channel 4 DUTY Cycle RAMP Time (× 10ms)
22H34Channel 5 DUTY Cycle RAMP Time (× 10ms)
23H35Channel 6 DUTY Cycle RAMP Time (× 10ms)
24H36Channel 7 DUTY Cycle RAMP Time (× 10ms)
25H37Channel 8 DUTY Cycle RAMP Time (× 10ms)
26H38Channel 9 DUTY Cycle RAMP Time (× 10ms)
27H39Channel 10 DUTY Cycle RAMP Time (× 10ms)
28H40Channel 11 DUTY Cycle RAMP Time (× 10ms)
29H41Channel 12 DUTY Cycle RAMP Time (× 10ms)
2AH42Reserved
2BH43Reserved
2CH44Reserved
2DH45Reserved
2EH46Reserved
2FH47Reserved
30H48Reserved
31H49Reserved
32H50Reserved
33H51Reserved
34H52Reserved
35H53Reserved
36H54Reserved
37H55Reserved
38H56Reserved
39H57Reserved
3AH58Reserved
3BH59Reserved
3CH60Reserved
3DH61Reserved
3EH62Reserved
3FH63OS Version

Pulse-Width Modulation Output Enable

  • The pulse-width modulation output enable will enable the channels for pulse-width modulation when set to 1 or general digital output when set to 0.
  • The PWM output function can be enabled by using the TO instruction.
Buffer MemoryBit
0
Bit
1
Bit
2
Bit
3
Bit
4
Bit
5
Bit
6
Bit
7
Bit
8
Bit
9
Bit
10
Bit
11
Bit
12
Bit
13
Bit
14
Bit
15
Channel NumberCH
1
CH
2
CH
3
CH
4
CH
5
CH
6
CH
7
CH
8
CH
9
CH
10
CH
11
CH
12
XXXX

Frequency Control

  • The pulse-width modulation supports functions to control the frequency range from 0~4,000pps.
    • 4 channels per group can be controlled.
      • A total of 3 groups can be controlled.
  • The frequencies of each group are set by the TO instruction.
Frequency A or General Digital OutputFrequency B or General Digital OutputFrequency C or General Digital Output
Channel 1 (Yn.2)Channel 5 (Yn.A)Channel 9 (Yn + 1.2)
Channel 2 (Yn.3)Channel 6 (Yn.B)Channel 10 (Yn + 1.3)
Channel 3 (Yn.6)Channel 7 (Yn.C)Channel 11 (Yn + 1.4)
Channel 4 (Yn.7)Channel 8 (Yn.D)Channel 12 (Yn + 1.5)
  • Every 4 PWM output included in a group are operated in the same frequency.
  • 3 different frequency outputs are available at the same time since 3 groups are offered.
  • When the TO instruction is operated on the buffer memory, the output terminal outputs the designated frequency instantly.
    • To prevent a sharp change of frequency, refer to frequency RAMP control.
  • If the frequency value is over 4,000pps, both the valid range of the DUTY cycle and degree of precision are decreased
Frequency (pps)Minimum Value of DUTY Cycle (%)Maximum Value of DUTY Cycle (%)
5,0001.098.0
10,0001.595.0
15,0003.094.0
20,0004.093.0
25,0005.091.0
30,0006.089.0
35,0007.087.0
40,0009.085.0
45,00010.083.0
50,00012.082.0
55,00013.080.0
60,00014.078.0
65,00015.075.0

RAMP Control

  • RAMP control can be used to prevent a sharp change of the frequency and DUTY cycle.
  • The output will be gradually changed during the RAMP control time, which the value of the frequency or DUTY cycle have configured.
  • When the set value of the RAMP control time of buffer memory is 0, output will be changed immediately.
  • The following is a method for RAMP control:
    • Change the RAMP control time before the value to control as intended.
    • In case of a power reset or CPU STOP during the RAMP operation, reset the value again by using the TO instruction.
      • he value of the buffer memory will be set back to the initial value, 0.

Frequency RAMP Control Time

PWM Buffer Memory Frequency RAMP Control Time in MapleLogic
  • The frequency will be changed through the set RAMP control time when the frequency value is changed after setting the frequency RAMP control time.
  • The frequency RAMP control time can be set by using the TO instruction.
  • In case the frequency RAMP control time is changed during the RAMP operation, it will be applied to the NEXT RAMP operation.
  • In case of a power reset or CPU STOP during the RAMP operation, reset the value again by using the TO instruction.

Controlling DUTY Cycle

  • The pulse-width modulation supports functions to control the DUTY cycle 0.0% ~ 100.0% within 1/1,000 resolution.
  • The DUTY cycles are able to be controlled per channel for a total of 12 channels.
  • The DUTY cycle can be set using the TO instruction.
  • When the TO instruction is operated, the output terminal will be configured to set the DUTY cycle and being output.
    • To prevent a sharp change of frequency, refer to frequency RAMP control.
PWM Parameters Controlling DUTY Cycle in MapleLogic
  • If the digital signal of +12V-+24V voltage is set to the DUTY cycle 70.0% (as shown above), the voltage output of +8.4V-+16.8V in average is available.
  • The DUTY cycle control (PWM) can be utilized in various ways of substituting an analog signal.
    • Controlling the speed of a motor, switch, or ratio of a value are examples.

DUTY Cycle RAMP Control

PWM Buffer Memory DUTY Cycle RAMP Control in MapleLogic
  • If the DUTY cycle’s value is configured after setting the DUTY cycle RAMP control time, the DUTY cycle will be gradually changed during the set RAMP control time.
  • The DUTY cycle ratio can be set using the TO instruction.
    • In case the DUTY cycle ramp control time is configured during the AMP operation, it will be applied to the NEXT RAMP operation.
    • In case of a power reset or CPU STOP during the RAMP operation, reset the value again by using the TO instruction.
      • The value of the buffer memory will be set back to the initial value, 0.