Last modified by Iris on 2025/10/22 16:39

From version 4.2
edited by Iris
on 2025/09/17 20:40
Change comment: There is no comment for this version
To version 5.2
edited by Iris
on 2025/10/22 16:18
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -31,17 +31,18 @@
31 31  
32 32  This instruction is to complete the PID operation and is used to control the parameters of the closed-loop control system. PID control has a wide range of applications in mechanical equipment, pneumatic equipment, constant pressure water supply and electronic equipment, etc. among them:
33 33  
34 -[[image:11_html_1c6bb88c06ac24cf.png]] is the target value of PID control;
34 +[[image:11_html_1c6bb88c06ac24cf.png||height="18" width="32"]] is the target value of PID control;
35 35  
36 -[[image:11_html_fb5122fb6e3a43d5.png]] is the measured feedback value;
36 +[[image:11_html_fb5122fb6e3a43d5.png||height="19" width="34"]] is the measured feedback value;
37 37  
38 -[[image:11_html_6c3fad4a32a3db43.png]] The starting address of the buffer area for setting parameters required for PID operation and saving intermediate results, occupies a total of 26 variable units in the subsequent addresses, the value range is D0 to D7974, it is best to specify the power failure retention area, which will remain after the power is OFF Set the value, otherwise the buffer area needs to be assigned value before starting the operation for the first time. The function and parameter description of each unit are described in this section;
38 +[[image:11_html_6c3fad4a32a3db43.png||height="19" width="34"]] The starting address of the buffer area for setting parameters required for PID operation and saving intermediate results, occupies a total of 26 variable units in the subsequent addresses, the value range is D0 to D7974, it is best to specify the power failure retention area, which will remain after the power is OFF Set the value, otherwise the buffer area needs to be assigned value before starting the operation for the first time. The function and parameter description of each unit are described in this section;
39 39  
40 -[[image:11_html_b126b1b2673dc1f4.png]] is the storage unit of the PID calculation result. Please designate [[image:11_html_d47cd1f59b766ed3.png]] as a non-battery holding area, otherwise it needs to be initialized and cleared before starting the calculation for the first time.
40 +[[image:11_html_b126b1b2673dc1f4.png||height="22" width="39"]] is the storage unit of the PID calculation result. Please designate [[image:11_html_d47cd1f59b766ed3.png||height="24" width="47"]] as a non-battery holding area, otherwise it needs to be initialized and cleared before starting the calculation for the first time.
41 41  
42 42  **Programming example**
43 43  
44 -[[image:1758108900843-990.png]]
44 +(% style="text-align:center" %)
45 +[[image:1758108900843-990.png||height="24" width="396"]]
45 45  
46 46  The parameter description is as follows:
47 47  
... ... @@ -51,34 +51,34 @@
51 51  
52 52  The D130 unit is used to store the calculated control output value to control the execution of the action.
53 53  
54 -The function and setting method of the parameter value of each unit about starting of [[image:11_html_6c3fad4a32a3db43.png]] are described in the following table:
55 +The function and setting method of the parameter value of each unit about starting of [[image:11_html_6c3fad4a32a3db43.png||height="27" width="48"]] are described in the following table:
55 55  
56 56  |**Unit**|**Features**|**Setting instructions**
57 -|[[image:11_html_6c3fad4a32a3db43.png]]|Sampling time (TS)|The setting range is 1 to 32767 (ms), but it needs to be greater than the PLC program scan period
58 -|[[image:11_html_6c3fad4a32a3db43.png]] +1|Action direction (ACT)|(((
58 +|[[image:11_html_6c3fad4a32a3db43.png||height="24" width="43"]]|Sampling time (TS)|The setting range is 1 to 32767 (ms), but it needs to be greater than the PLC program scan period
59 +|[[image:11_html_6c3fad4a32a3db43.png||height="22" width="39"]] +1|Action direction (ACT)|(((
59 59  bit0: 0 = positive action; 1 = reverse action bit3: 0 = unidirectional; 1 = bidirectional
60 60  
61 61  bit4: 0 = auto-tuning does not work; 1 = auto-tuning is executed, others cannot be used.
62 62  )))
63 -|[[image:11_html_6c3fad4a32a3db43.png]] +2|Maximum ascent rate (DeltaT)|Setting range 0 to 32000 is the threshold of integral increment
64 -|[[image:11_html_6c3fad4a32a3db43.png]] +3|Proportional gain (Kp)|Setting range 0 to 32767, note that this value is enlarged by 256 times, the actual value is Kp/256
65 -|[[image:11_html_6c3fad4a32a3db43.png]] +4|Integral gain (Ki)|Setting range 0 to 32767, Ki=16384Ts/Ti, Ti is the integral time
66 -|[[image:11_html_6c3fad4a32a3db43.png]] +5|Differential gain (Kd)|Setting range 0 to 32767, Kd≈Td/Ts, Td is the derivative time
67 -|[[image:11_html_6c3fad4a32a3db43.png]] +6|Filtering (C0)|Setting range 0 to 1023, integral part filtering
68 -|[[image:11_html_6c3fad4a32a3db43.png]] +7|Output lower limit|(((
64 +|[[image:11_html_6c3fad4a32a3db43.png||height="24" width="43"]] +2|Maximum ascent rate (DeltaT)|Setting range 0 to 32000 is the threshold of integral increment
65 +|[[image:11_html_6c3fad4a32a3db43.png||height="24" width="43"]] +3|Proportional gain (Kp)|Setting range 0 to 32767, note that this value is enlarged by 256 times, the actual value is Kp/256
66 +|[[image:11_html_6c3fad4a32a3db43.png||height="24" width="43"]] +4|Integral gain (Ki)|Setting range 0 to 32767, Ki=16384Ts/Ti, Ti is the integral time
67 +|[[image:11_html_6c3fad4a32a3db43.png||height="23" width="41"]] +5|Differential gain (Kd)|Setting range 0 to 32767, Kd≈Td/Ts, Td is the derivative time
68 +|[[image:11_html_6c3fad4a32a3db43.png||height="23" width="41"]] +6|Filtering (C0)|Setting range 0 to 1023, integral part filtering
69 +|[[image:11_html_6c3fad4a32a3db43.png||height="24" width="43"]] +7|Output lower limit|(((
69 69  Recommended setting range -2000 to 2000
70 70  
71 71  {{id name="OLE_LINK630"/}}When bit3 of S3+1=0, set to 0; When bit3 of S3+1=1, set to -2000;
72 72  )))
73 -|[[image:11_html_6c3fad4a32a3db43.png]] +8|Output upper limit|Recommended setting value 2000
74 -|[[image:11_html_6c3fad4a32a3db43.png]] +9|Reserved|Reserved
74 +|[[image:11_html_6c3fad4a32a3db43.png||height="23" width="41"]] +8|Output upper limit|Recommended setting value 2000
75 +|[[image:11_html_6c3fad4a32a3db43.png||height="25" width="44"]] +9|Reserved|Reserved
75 75  |︙|︙|︙
76 -|[[image:11_html_6c3fad4a32a3db43.png]] +25|Reserved|Reserved
77 +|[[image:11_html_6c3fad4a32a3db43.png||height="22" width="39"]] +25|Reserved|Reserved
77 77  
78 78  **Auto tuning example**
79 79  
80 80  (% style="text-align:center" %)
81 -[[image:11_html_c64303b9c6a47ae9.png||class="img-thumbnail"]]
82 +[[image:11_html_c64303b9c6a47ae9.png||height="583" width="567" class="img-thumbnail"]]
82 82  
83 83  **✎Note:**
84 84  
... ... @@ -158,7 +158,7 @@
158 158  |4D81H|Input filter constant (α) is out of range (α​<0 or α>1023)
159 159  |4D82H|The maximum ascent rate (△//T//) is out of range.(△//T//​<0 or △//T//​>1023)
160 160  |4D86H|The sampling time (Ts) is less than the operation cycle.​​​​(T//s//<Scanning cycle)
161 -|4D87H|The proportional gain (K//p//) is out of range.​​​​(K//p//<1 or K//p//>32000)​​​​​​​
162 +|4D87H|The proportional gain (K//p//) is out of range.​​​​(K//p//<1 or K//p//>32000)
162 162  |4D88H|The integral time constant (Ti) is out of range.(K//i​//<0 or K//i//>3600)
163 163  |4D89H|The differential time constant (T//d//) is out of range.(K//d//<0 or K//d//>1000)
164 164  |4D90H|The upper limit of CCPID output is less than the lower limit.
... ... @@ -315,7 +315,7 @@
315 315  **Content, range and data type**
316 316  
317 317  |**Name**|**Features**|**Bits (bits)**|**Whether pulse type**|**Instruction format**|**Step count**
318 -|CCPID|PID Operation|16|No|CCPID [[image:11_html_253eb1176b58e989.png]] [[image:11_html_80fccb1046bf8776.png]] [[image:11_html_8760537828f7beaf.png]] [[image:11_html_8b4fbd61f8ea9808.png]]|9
319 +|CCPID|PID Operation|16|No|CCPID [[image:11_html_253eb1176b58e989.png||height="23" width="44"]] [[image:11_html_80fccb1046bf8776.png||height="25" width="44"]] [[image:11_html_8760537828f7beaf.png||height="26" width="49"]] [[image:11_html_8b4fbd61f8ea9808.png||height="27" width="51"]]|9
319 319  
320 320  |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="3" %)**Devices**|**Offset modification**|**Pulse extension**
321 321  |**D**|**R**|**SD**|**[D]**|**XXP**
... ... @@ -614,7 +614,152 @@
614 614  (% style="text-align:center" %)
615 615  [[image:11_html_74a7527eace55103.gif||class="img-thumbnail"]]
616 616  
618 +== ** CCPIN_SHT operation** ==
617 617  
620 +**CCPIN_SHT**
621 +
622 +This instruction is used to perform PID control that changes the output value according to the variation of the input.
623 +
624 +-[CCPID_SHT (s1) (s2)  (s3) (d)]
625 +
626 +**Content, range and data type**
627 +
628 +|**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)**
629 +|(s1)|The device number that stores the target value (SV)|-32767 to 32767|Signed BIN 16 bit|ANY16
630 +|(s2)|The device number that stores the measured value (SV)|-32767 to 32767|Signed BIN 16 bit|ANY16
631 +|(s3)|The device number that stores parameters|1 to 32767|Signed BIN 16 bit|ANY16
632 +|(d)|The device number that stores the output value (SV)|-32767 to 32767|Signed BIN 16 bit|ANY16
633 +
634 +**Device used**
635 +
636 +|(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="3" %)**Devices**|(((
637 +**Offset**
638 +
639 +**modification**
640 +)))|(((
641 +**Pulse**
642 +
643 +**extension**
644 +)))
645 +|**D**|**R**|**SD**|**[D]**|**XXP**
646 +|(% rowspan="4" %)CCPID_SHT|Parameter 1|●|●|●| |
647 +|Parameter 2|●|●|●| |
648 +|Parameter 3|●|●|●| |
649 +|Parameter 4|●|●|●| |
650 +
651 +**Features**
652 +
653 +This instruction is to complete the temperature control operation, used to control the parameters of the closed-loop control system.
654 +
655 +[[image:1758113204827-229.png]] is the target value of CCPID SHT control (SV).
656 +
657 +[[image:1758113217569-229.png]] is the measured feedback value (PV).
658 +
659 +[[image:1758113227549-844.png]] is the start address of the cache where the parameters required by CCPID_SHT operation and intermediate results are saved,
660 +
661 +occupying a total of 36 variable units of subsequent addresses. The value range is from D0 to D7946 or from R0 to R29964. It is better to specify power failure retention, and the setting value remains after power supply is off. Otherwise, the cache needs to be assigned value before starting the calculation for the first time. The function and parameter description of each unit are described in this section.
662 +
663 +[[image:1758113243743-809.png]] is the storage unit of the CCPID_SHT calculation result. Please specify it as a non-battery retentive area, otherwise it needs to be initialized and cleared before the first start of calculation.
664 +
665 +**Programming example**
666 +
667 +[[image:1758113269397-376.png]]
668 +
669 +
670 +The parameter description is as follows:
671 +
672 +The target value of CCPID_SHT adjustment is stored in D1, and D0 is the closed-loop feedback value. Note that D0 and D9 must be of the same dimension, such as both 0.01MPa units, or 1℃ units, etc..
673 +
674 +A total of 36 units of D1000 to D1035 are used to store the set value and process value of CCPID_SHT operation. These values must be set item by item before the first CCPID_SHT calculation.
675 +
676 +D100 unit is used to store the calculated control output value to control the execution of the action.
677 +
678 +[[image:1758113227549-844.png]]The functions and setting methods of the parameter values of each unit at the beginning are described in the table below:
679 +
680 + [[image:1758113227549-844.png]]to[[image:1758113227549-844.png]] +15 is the parameter range that can be set (parameters set when CCPID_SHT is executed).
681 +
682 +[[image:1758113227549-844.png]]+2 to [[image:1758113227549-844.png]]+31 is the parameter space used in the self-tuning process. (This space is multiplexed with the parameter space during control)
683 +
684 +
685 +The functions and setting methods of the parameter values of each unit started by are described in the following table:
686 +
687 +|(% style="width:106px" %)**Unit**|(% style="width:146px" %)**Function**|**Description**
688 +|(% style="width:106px" %)[[image:1758113227549-844.png]]|(% style="width:146px" %)Sampling time (TS)|Range: 1 to 32767 (ms). It must be longer than PLC program scan cycle.
689 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+1|(% style="width:146px" %)Control flag bit|(((
690 +bit0: 0=Forward action; 1=Reverse action
691 +
692 +bit3: 0=one-way; 1=two-way
693 +
694 +bit4: 0=Self-tuning does not act; 1=Perform self-tuning and the others are not available.
695 +
696 +bit6: 0=Two-segment self-tuning does not act; 1=Perform two-segment self-tuning (bit4 must set to 1)
697 +
698 +bit7: 0=Three-segment self-tuning does not act; 1=Perform three-segment self-tuning (bit4 must set to 1)
699 +
700 +Bit15: The instruction initialization flag bit. When initialization is complete, it is set to 1.
701 +)))
702 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+2|(% style="width:146px" %)Maximum rate of increase (DeltaT)|Range: 0 to 32000. Threshold of integral increment
703 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+3|(% style="width:146px" %)Proportional gain (Kp)|Range: 0 to 32767. This value is magnified 256 times and the actual value is Kp/256.
704 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+4|(% style="width:146px" %)Integral gain (Ki)|Range: 0 to 32767, Ki=16384Ts/Ti,Ti is integral time
705 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+5|(% style="width:146px" %)Differential gain (Kd)|Range: 0 to 32767, Kd≈Td/Ts, Td is differential time
706 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+6|(% style="width:146px" %)Filter constant (Co)|Range: 0 to 1023, Integral partial filtering.
707 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+7|(% style="width:146px" %)Output lower limit|Recommended setting range: -2000 to 2000
708 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+8|(% style="width:146px" %)Output upper limit|Recommended setting value: 2000. When the upper and lower limits are both 0, the upper limit becomes 2000 and the lower limit becomes 0.
709 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+9|(% style="width:146px" %)Reserved|Reserved for internal use
710 +|(% style="width:106px" %)┇|(% style="width:146px" %)┇|┇
711 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+35|(% style="width:146px" %)Reserved|Reserved for internal use
712 +
713 +Parameter space corresponding to the self-tuning time
714 +
715 +|(% style="width:106px" %)**Unit**|(% style="width:141px" %)**Function**|**Description**
716 +|(% style="width:106px" %)[[image:1758113227549-844.png]]|(% style="width:141px" %)Sampling time (TS)|Range: 1 to 32767 (ms). It must be longer than PLC program scan cycle.
717 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+1|(% style="width:141px" %)Control flag bit|(((
718 +bit0: 0=Forward action; 1=Reverse action
719 +
720 +bit3: 0=one-way; 1=two-way
721 +
722 +bit4: 0=Self-tuning does not act; 1=Perform self-tuning and the others are not available.
723 +
724 +bit6: 0=Two-segment self-tuning does not act; 1=Perform two-segment self-tuning (bit4 must set to 1)
725 +
726 +bit7: 0=Three-segment self-tuning does not act; 1=Perform three-segment self-tuning (bit4 must set to 1)
727 +
728 +Bit15: This instruction initializes the flag bit. When initialization is complete, the position is set to 1.
729 +)))
730 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+2|(% style="width:141px" %)Sampling time of PID running after self-tuning|Setting range: 1 to 32767 ms(). When Ts≦0, Ts=3000
731 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+3|(% style="width:141px" %)Coefficient ukp for PID parameter calculation|Setting range: 0 to 500. When ukp≦0, ukp=100; When ukp≧500, ukp=500.
732 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+4|(% style="width:141px" %)Coefficient uki for PID parameter calculation|Setting range: 0 to 32767. When uki≦0, uki=50.
733 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+5|(% style="width:141px" %)Coefficient ukd for PID parameter calculation|Setting range: 0 to 32767. When ukd≦0, ukd=50.
734 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+6|(% style="width:141px" %)Reserved|Reserved
735 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+7|(% style="width:141px" %)Output lower limit|Recommended setting range: -2000 to 2000
736 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+8|(% style="width:141px" %)Output upper limit|Recommended setting value: 2000. When the upper and lower limits are both 0, the upper limit becomes 2000 and the lower limit becomes 0.
737 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+9|(% style="width:141px" %)Reserved|Reserved for internal use
738 +|(% style="width:106px" %)┇|(% style="width:141px" %)┇|┇
739 +|(% style="width:106px" %)[[image:1758113227549-844.png]]+35|(% style="width:141px" %)Reserved|Reserved for internal use
740 +
741 +**Error code**
742 +
743 +|**Error code**|**Content**
744 +|4085H|Read application instruction (S1), (S2), (S3) and (d) output results exceed the range of device.
745 +|4086H|The devices specified in write application instruction (S3) and (d) exceed the range of the corresponding device.
746 +|4DB0H|Sampling time (Ts) exceeds the range the object (Ts≦0)
747 +|4DB1H|Output filter constant (Co) exceeds the range the object (Co<0 or Co>1023)
748 +|4DB2H|Maximum rate of increase (DeltaT) exceeds the range the object (deltaT<0 or deltaT>32000)
749 +|4DB3H|Proportional gain (Kp) exceeds the range the object (Kp≦0)
750 +|4DB4H|Integral gain (Ki) exceeds the range the object (Ki≦0)
751 +|4DB5H|Differential gain (Kd) exceeds the range the object (Kd≦0)
752 +|4DB6H|Sampling time (Ts) < operation cycle
753 +
754 +**Example**
755 +
756 +
757 +
758 +(% style="text-align:center" %)
759 +[[image:企业微信截图_17581134583885.png]]
760 +
761 +(% style="text-align:center" %)
762 +[[image:企业微信截图_17581134696804.png]]
763 +
618 618  == **LAGCDL Large time-delay temperature control instruction** ==
619 619  
620 620  **LAGCDL**
... ... @@ -739,64 +739,10 @@
739 739  (% style="text-align:center" %)
740 740  [[image:企业微信截图_17581120459254.png]]
741 741  
742 -== **PRUN/Octal digit transmission (16-bit data)** ==
743 -
744 -----
745 -
746 -PRUN(P)
747 -
748 -After processing the device numbers of (s) and (d) with specified digits as octal numbers, transfer the data.
749 -
750 --[PRUN (s) (d)]
751 -
752 -Content, range and data type
753 -
754 -|=**Parameter**|=**Content**|=**Range**|=**Data type**|=**Data type (label)**|=**Custom variable type**
755 -|(s)|Digit specification*1|-|BIN16 bit|ANY16|~-~-
756 -|(d)|Transfer target device number*1|-|BIN16 bit|ANY16|~-~-
757 -
758 -Device used
759 -
760 -|=(% style="width: 64px;" %)**Instruction**|=(% style="width: 128px;" %)**Parameter**|=(% colspan="24" %)**Devices**|=**Index modification**|=**Pulse expansion**
761 -|(% style="width:64px" %) |(% style="width:128px" %) |**X**|**Y**|**M**|**S**|**SM**|**T(bit)**|**C(bit)**|**LC(bit)**|(% style="width:32px" %)**HSC(bit)**|(% style="width:94px" %)**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|(% style="width:41px" %)**SD**|(% style="width:42px" %)**LC**|**HSC**|**K**|**H**|**E**|**[D]**|**XXP**
762 -|(% colspan="1" rowspan="2" style="width:64px" %)PRUN|(% style="width:128px" %)Parameter 1| | | | | | | | |(% style="width:32px" %) |(% style="width:94px" %) |●| |●| | | | | |(% style="width:41px" %) |(% style="width:42px" %) | | | | |●|●
763 -|(% style="width:128px" %)Parameter 2| | | | | | | | |(% style="width:32px" %) |(% style="width:94px" %) | |●|●| | | | | |(% style="width:41px" %) |(% style="width:42px" %) | | | | |●|●
764 -
765 -Function
766 -
767 -• Octal digit device→ decimal digit device
768 -
769 -(% style="text-align:center" %)
770 -[[image:1709790843788-781.png]]
771 -
772 -• Decimal digit device → octal digit device
773 -
774 -(% style="text-align:center" %)
775 -[[image:1709790863850-104.png]]
776 -
777 -Error code
778 -
779 -|=**Error code**|=**Content**
780 -|4085H|When the specified device range for reading exceeds the range of the corresponding device
781 -|4086H|When the specified device range for writing exceeds the range of the corresponding device
782 -
783 -Example
784 -
785 -(% style="text-align:center" %)
786 -[[image:1709790902188-165.png]]
787 -
788 -As shown in the above ladder diagram: X0~~X17 takes the value of octal digits and pass it to the devices corresponding to M.
789 -
790 -(% style="text-align:center" %)
791 -[[image:1709790924438-346.png]]
792 -
793 -
794 794  == **TRH/Wet and dry bulb temperature and humidity conversion** ==
795 795  
796 -----
890 +TRH
797 797  
798 -[[image:file:///C:\Users\ADMINI~~1\AppData\Local\Temp\ksohtml13328\wps3.png]]TRH
799 -
800 800  This command completes the conversion of dry bulb temperature, wet bulb temperature and corresponding humidity.
801 801  
802 802  -[TRH (d1) (s) (d2) (n)]
1758113204827-229.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +1.8 KB
Content
1758113217569-229.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +1.7 KB
Content
1758113227549-844.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +1.9 KB
Content
1758113243743-809.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +1.7 KB
Content
1758113269397-376.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +31.9 KB
Content
企业微信截图_17581134583885.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +28.1 KB
Content
企业微信截图_17581134696804.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +23.9 KB
Content