搜索
bottom↓
楼主: tim4146

【分享】增量式PID的stm32实现,整定过程

  [复制链接]

出0入0汤圆

发表于 2015-7-31 07:13:59 | 显示全部楼层
你的程序我基本看懂了。PID以前只用过P算法,看了你的帖子我要加上ID算法试试。

出0入4汤圆

发表于 2015-7-31 09:36:45 来自手机 | 显示全部楼层
markmarkmark

出0入0汤圆

发表于 2015-7-31 12:36:39 | 显示全部楼层
前阵子搞了会PID,来楼主这里学习下

出0入0汤圆

发表于 2015-8-5 08:45:10 | 显示全部楼层
这个比赛PID很有用哦!谢谢楼主

出0入0汤圆

发表于 2015-8-5 08:45:35 | 显示全部楼层
这个比赛PID很有用哦!谢谢楼主

出0入0汤圆

发表于 2015-8-7 17:50:31 | 显示全部楼层
谢楼主详细讲解,这个太好了。

出500入8汤圆

发表于 2015-8-10 08:06:37 | 显示全部楼层
本帖最后由 673835452 于 2015-8-10 08:09 编辑
tim4146 发表于 2014-4-7 12:35
电机反馈信号的频率f 和电机是成正比的,也就是说,我如果需要电机转速 w=2pi rad/s的话,我对应的捕获频 ...

楼主你好
请问里面的系数  4.6875  是不是通过  1000占空比 然后测得编码器 1536   对应PWM  7200      然后  7200/1536=4.6875
那当做平衡车 或者倒立摆的时候  角度(编码器)变化反馈 跟 电机转速PWM 怎么对应?  电机满占空比1000 角度就  没法测了  小车倾倒  摆杆  也倒了。。那怎么求系数

出5入4汤圆

 楼主| 发表于 2015-8-10 11:02:50 | 显示全部楼层
673835452 发表于 2015-8-10 08:06
楼主你好
请问里面的系数  4.6875  是不是通过  1000占空比 然后测得编码器 1536   对应PWM  7200       ...

没错,系数是这么来的,但是我后面帖子也说过实际这个系数是不用去求的,因为整定过程中已经帮你做好了这个事情

出5入4汤圆

 楼主| 发表于 2015-8-10 11:05:00 | 显示全部楼层
673835452 发表于 2015-8-10 08:06
楼主你好
请问里面的系数  4.6875  是不是通过  1000占空比 然后测得编码器 1536   对应PWM  7200       ...

平衡车我没做过啊,所以PID到底控制什么我也不能肯定,但是肯定比我这个简单的速度控制要复杂,感觉你要做的是角度控制或者是位置控制

出500入8汤圆

发表于 2015-8-10 18:12:46 | 显示全部楼层
tim4146 发表于 2015-8-10 11:02
没错,系数是这么来的,但是我后面帖子也说过实际这个系数是不用去求的,因为整定过程中已经帮你做好了这 ...

楼主意思是这个4.6875 系数可以直接忽略?改成1?  直接让pid自己整定?

出0入0汤圆

发表于 2015-8-10 22:13:56 来自手机 | 显示全部楼层
很好,留个记号

出0入0汤圆

发表于 2015-8-11 08:36:25 | 显示全部楼层
现在正在学习PID,楼主讲的很好,很容易理解

出5入4汤圆

 楼主| 发表于 2015-8-11 16:29:24 | 显示全部楼层
673835452 发表于 2015-8-10 18:12
楼主意思是这个4.6875 系数可以直接忽略?改成1?  直接让pid自己整定?

这个系数直接不用乘了。直接去整定就行了

出0入0汤圆

发表于 2015-8-17 17:04:35 | 显示全部楼层
tim4146 发表于 2015-8-11 16:29
这个系数直接不用乘了。直接去整定就行了

请问楼主,这个系数是不是应该是随负载变动的?因为之前假设PWM与转速的线性比例关系已经失效,需要重新计算,这个计算的时机应该是在调整稳定后的时机,不知道理解的是否正确?

出5入4汤圆

 楼主| 发表于 2015-8-17 17:07:02 | 显示全部楼层
ST_ATMEL_NXP 发表于 2015-8-17 17:04
请问楼主,这个系数是不是应该是随负载变动的?因为之前假设PWM与转速的线性比例关系已经失效,需要重新 ...

系数已经在整定过程中和系数Kp合起来了,所以不用刻意找这个系数

出0入0汤圆

发表于 2015-9-10 15:52:53 | 显示全部楼层
tim4146 发表于 2015-8-17 17:07
系数已经在整定过程中和系数Kp合起来了,所以不用刻意找这个系数

我推了一遍,只能推出第一个公式啊; 第一个公式: Kp * e - Ki * ek-1 + Kd * ek-2 是能顺利推出来的;
请问你开篇中的第二个图片上的公式是从哪来的啊? 是否还记得出 处呢?

出0入0汤圆

发表于 2015-9-11 10:34:59 | 显示全部楼层
楼主有心了 看到这个帖子 还是有感谢 在程序的调校过程  我深有体会 写的不错  功能基本也可以 赞一个 谢谢

出5入4汤圆

 楼主| 发表于 2015-9-11 21:04:15 | 显示全部楼层
kinsno 发表于 2015-9-10 15:52
我推了一遍,只能推出第一个公式啊; 第一个公式: Kp * e - Ki * ek-1 + Kd * ek-2 是能顺利推出来的;
请 ...

公式化开来其实就是一个啊,只是两种不同的合并同类项的方式

出0入0汤圆

发表于 2015-9-11 22:46:33 | 显示全部楼层
做个记号,明天研究下

出0入0汤圆

发表于 2015-9-12 16:29:12 | 显示全部楼层
tim4146 发表于 2015-9-11 21:04
公式化开来其实就是一个啊,只是两种不同的合并同类项的方式

我明白这两个公式是合二为一的,我又复推了遍,没办法,还是没推出来第2种,不知其所然啊;
是否劳你费心能介绍个网址或书籍在这两个公式的推导啊?

出0入0汤圆

发表于 2015-9-12 16:56:38 | 显示全部楼层
谢谢分享~

出0入0汤圆

发表于 2015-9-12 22:26:16 | 显示全部楼层
看到图形稳定阶段有毛刺,如果将D值作用减小一倍,能再测条曲线吗?

出0入0汤圆

发表于 2015-9-22 14:30:34 | 显示全部楼层
MARK 增量式PID的stm32实现,整定过程

出0入0汤圆

发表于 2015-11-18 18:04:57 | 显示全部楼层
谢谢!学习了

出0入0汤圆

发表于 2015-11-18 20:17:37 | 显示全部楼层
强帖,MARK~

出0入0汤圆

发表于 2015-11-21 18:00:14 | 显示全部楼层
pwm1=PID1.sum_error*4.6875  ;这个4.6875  是怎么来的?  

出0入0汤圆

发表于 2015-11-21 18:54:32 | 显示全部楼层
学习了,但是在纠结误差量是 检测值-设定值,还是倒过来??

出5入4汤圆

 楼主| 发表于 2015-11-22 18:04:19 | 显示全部楼层
flowtcw 发表于 2015-11-21 18:54
学习了,但是在纠结误差量是 检测值-设定值,还是倒过来??

学过一点控制原理之后从图上就应该知道啊,误差是设定值减去反馈值

出5入4汤圆

 楼主| 发表于 2015-11-22 18:06:56 | 显示全部楼层
小乖 发表于 2015-11-21 18:00
pwm1=PID1.sum_error*4.6875  ;这个4.6875  是怎么来的?

实践证明,则个4点几根本不用乘了,直接把这行代码拿掉,直接整定参数就行
从理论上看,这个中间的系数啊过程之类的不必太关心,都在传递函数或者整定过程中解决了
以上仅仅是个人浅显的理解,大神路过不要喷我

出0入0汤圆

发表于 2015-12-2 18:09:25 | 显示全部楼层
楼主,伺服电机转速响应有滞后,大概滞后1.2ms,那么请教反馈的采样周期T该如何设置?

出5入4汤圆

 楼主| 发表于 2015-12-2 19:25:56 | 显示全部楼层
蓝色风暴@FPGA 发表于 2015-12-2 18:09
楼主,伺服电机转速响应有滞后,大概滞后1.2ms,那么请教反馈的采样周期T该如何设置?

...

你这个精度好高啊,1.2ms滞后...我恐怕解决不了啊

出0入0汤圆

发表于 2015-12-2 20:25:01 | 显示全部楼层
只能学习。

出0入0汤圆

发表于 2015-12-3 08:52:41 | 显示全部楼层
tim4146 发表于 2015-12-2 19:25
你这个精度好高啊,1.2ms滞后...我恐怕解决不了啊

现在按照这种试凑法,虽然找到了等幅震荡的kp系数,然后按照经验公式算出了ti,td,可是结果依然很差,采样率设置的1ms

出0入0汤圆

发表于 2015-12-3 09:05:13 | 显示全部楼层
谢谢分享 正在学习中 ,参考下

出0入0汤圆

发表于 2015-12-3 09:20:32 | 显示全部楼层
好资料,学习了

出0入0汤圆

发表于 2015-12-3 13:08:42 | 显示全部楼层
方便学习理解,很多东西自己真的想不通

出0入0汤圆

发表于 2015-12-4 13:06:34 | 显示全部楼层
谢谢lz分享。

出0入0汤圆

发表于 2015-12-4 16:56:21 | 显示全部楼层
一直没领悟PID算的精髓,来学习学习

出5入4汤圆

 楼主| 发表于 2015-12-4 19:33:58 | 显示全部楼层
蓝色风暴@FPGA 发表于 2015-12-3 08:52
现在按照这种试凑法,虽然找到了等幅震荡的kp系数,然后按照经验公式算出了ti,td,可是结果依然很差,采样 ...

PID的计算周期不是越小越好吧,要和反馈信号的采样频率匹配,还要和MCU的计算速度匹配
比如你的反馈信号是编码器的脉冲,如果脉冲最快的时候周期是50ms,这个时候你PID计算的周期是1ms就没什么意义了

出0入0汤圆

发表于 2015-12-7 09:35:21 | 显示全部楼层
tim4146 发表于 2015-12-4 19:33
PID的计算周期不是越小越好吧,要和反馈信号的采样频率匹配,还要和MCU的计算速度匹配
比如你的反馈信号 ...

采样周期就是计算周期,采样一次才会计算一次,系统中没有MCU,纯fpga控制,另外测速用的是模拟电压,
伺服电机转速变化都是us级别的,1ms我感觉太大了,但是有响应滞后,好像也没什么办法,
比如在T0时刻发出一个控制量,而在T0+1ms采样的转速却不是该控制量的响应,导致整个PID运算已经无效了,
如果加大采样周期,比如2ms,更没有意义了,因为伺服电机转速变化都是us级的
不知道我的理解对不对?

出0入0汤圆

发表于 2015-12-12 17:01:44 | 显示全部楼层
学习一下,哪天就用到了

出5入4汤圆

 楼主| 发表于 2015-12-12 23:40:00 | 显示全部楼层
蓝色风暴@FPGA 发表于 2015-12-7 09:35
采样周期就是计算周期,采样一次才会计算一次,系统中没有MCU,纯fpga控制,另外测速用的是模拟电压,
伺服电 ...

我们的精度要求不一样暂且放一边了,但是“采样周期取决于控制对象”这句话应该没错的,做水温PID的时候采样周期好多都是“秒”级,因为水温变化比较慢
电机给我的感觉差不多,有的电机转动惯量挺大的,转速没法变得太快,这样的情况下采样周期小到一定的程度再小就没意思了...从香农采样定理的角度,采样周期小于控制信号变化周期的1/2就OK,实际控制的时候设置成1/5  1/10应该就够了
以上仅是经验之谈,不涉及控制理论,有错误的请路过的大哥指点一二

出0入0汤圆

发表于 2015-12-16 00:54:37 | 显示全部楼层
楼主有一个问题请教一下你,假设电机的目标速度为50rmp,从0速开始的时候,第一次执行pid的时候,会计算出一个增量出来,此增量用来控制pwm使电机转动,但如果电机的负载较重,导致这时电机不转,那么检测回来的速度还是会为0,那么这时再执行第二次pid的时候,会计算出来的增量为0,这样的话就会导致不会发生变化,也就是pid调节失败了,怎么解决这个问题呀,谢谢!
请指点一下,谢谢!

出0入0汤圆

发表于 2015-12-16 08:47:46 | 显示全部楼层
收藏         

出0入0汤圆

发表于 2015-12-16 10:14:25 | 显示全部楼层
tim4146 发表于 2015-3-6 10:37
楼主还在
请看我这个函数

我碰到的也是这个问题,我测试出来的是第一次执行pid是,iincpid不为0,但是电机没转动起来后,后面执行的pid,iincpid都是为0的,即使是累加起来了,由于加数为0,所以电机转动不起来。
谢谢!

出0入0汤圆

发表于 2015-12-16 10:32:35 | 显示全部楼层
电流环PID参数老整定不好,楼主有经验吗?

出0入0汤圆

发表于 2015-12-16 11:33:27 | 显示全部楼层
我也是一直在使用第二种公式,虽然用过pid但是感觉还是有很多欠缺,比如说各种参数的整定和数学模型的科学建立

出0入0汤圆

发表于 2015-12-17 11:27:41 | 显示全部楼层
谢谢楼主分享

出5入4汤圆

 楼主| 发表于 2015-12-18 18:40:05 | 显示全部楼层
jaky80000 发表于 2015-12-16 00:54
楼主有一个问题请教一下你,假设电机的目标速度为50rmp,从0速开始的时候,第一次执行pid的时候,会计算出 ...

想了许久,光是保留积分环节确实会存在这样的问题,建议不要单独就一个p控制,而是根据实际控制对象使用PI或者PD设定参数慢慢整定一下,这样应该能避免这个问题的

出0入0汤圆

发表于 2016-1-30 16:28:44 | 显示全部楼层
tim4146 发表于 2015-12-18 18:40
想了许久,光是保留积分环节确实会存在这样的问题,建议不要单独就一个p控制,而是根据实际控制对象使用P ...

感谢楼主,加盖一楼,2016年一定要测试一番!!!!

出0入0汤圆

发表于 2016-1-30 17:50:11 | 显示全部楼层
好,牛比的东西,学习

出0入0汤圆

发表于 2016-1-30 23:08:32 | 显示全部楼层
MARK.....学习

出0入0汤圆

发表于 2016-3-7 08:50:04 | 显示全部楼层
tim4146 发表于 2014-4-6 08:36
示波器显示的是反馈信号的频率f 对应的DAC电压,想不出别的办法来看响应曲线了。也用示波器观看电机过的 ...

楼主。在吗?
你这个系统只有速度环吗?

出5入4汤圆

 楼主| 发表于 2016-3-7 14:49:28 | 显示全部楼层
打酱油要专业 发表于 2016-3-7 08:50
楼主。在吗?
你这个系统只有速度环吗?

电流环类似,只是把速度环的输出作为电流环的目标值而已,不要想内部的细节,因为中间过程已经无法和相关物理量对应了,直接这么做就是了
试试看呢~

出0入0汤圆

发表于 2016-3-8 09:35:49 | 显示全部楼层
tim4146 发表于 2016-3-7 14:49
电流环类似,只是把速度环的输出作为电流环的目标值而已,不要想内部的细节,因为中间过程已经无法和相关 ...

好的。我也想了。试试看再说。光这么想没有太大帮助。

出0入0汤圆

发表于 2016-6-7 22:17:27 | 显示全部楼层
不明觉厉,对我这种小白难度太大,先Mark!

出0入0汤圆

发表于 2016-6-9 21:12:03 | 显示全部楼层
mark一下

出0入0汤圆

发表于 2016-8-11 15:11:18 | 显示全部楼层
mark   马上要试着用用

出0入0汤圆

发表于 2016-8-12 09:19:21 | 显示全部楼层
挖到一个好贴呀

出0入0汤圆

发表于 2016-8-12 15:18:39 | 显示全部楼层
最近常听到PID PID,这到底是神马东西

出0入0汤圆

发表于 2016-8-13 20:11:26 | 显示全部楼层
温习下哈。。。貌似不错。

出0入0汤圆

发表于 2016-8-13 21:56:41 | 显示全部楼层
PID控制挺好的,学好后可以应用在很多地方。来学习了。

出0入0汤圆

发表于 2016-8-14 09:27:08 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2016-8-14 12:20:56 | 显示全部楼层
增量的PID控制只是比位置式PID要好些,没有累积误差,不算是自适应算法,环境变了,参数还得重新整定

出0入0汤圆

发表于 2016-8-14 16:07:30 | 显示全部楼层
int incPIDcalc(PIDtypedef *PIDx,u16 nextpoint)
{
int iError,iincpid;
iError=PIDx->setpoint-nextpoint;  //当前误差
/*iincpid=                                               //增量计算
PIDx->proportion*iError                //e[k]项
-PIDx->integral*PIDx->last_error          //e[k-1]
+PIDx->derivative*PIDx->prev_error;//e[k-2]
*/
iincpid=                                                          //增量计算
PIDx->proportion*(iError-PIDx->last_error)
+PIDx->integral*iError
+PIDx->derivative*(iError-2*PIDx->last_error+PIDx->prev_error);

PIDx->prev_error=PIDx->last_error; //存储误差,便于下次计算
PIDx->last_error=iError;
return(iincpid) ;
}

注释掉的是第一种写法,没注释的是第二种以Kp KI kd为系数的写法,实际结果是一样的。

有点不太理解,按照公式,应该是注释部分才对,为什么两种写法一样???

出0入0汤圆

发表于 2016-9-9 17:37:05 | 显示全部楼层
mark  多谢楼主分享

出0入4汤圆

发表于 2016-9-15 20:59:08 | 显示全部楼层
这个非常好,有助于我们这样的初学者学习!

出0入0汤圆

发表于 2016-9-15 21:05:31 | 显示全部楼层
MARK      

出0入0汤圆

发表于 2016-9-16 03:42:31 | 显示全部楼层
好资料,MARK。

出0入0汤圆

发表于 2016-10-29 21:51:42 | 显示全部楼层
误差是不是可以正可以负呢?如果实际值大于设定值,那么占空比输出多少呢?

出0入0汤圆

发表于 2016-10-30 07:27:18 来自手机 | 显示全部楼层
感谢楼主分享

出0入0汤圆

发表于 2016-11-1 23:45:55 | 显示全部楼层
MARK 占位

出0入0汤圆

发表于 2016-11-2 08:27:22 | 显示全部楼层
mark!mark!

出0入0汤圆

发表于 2016-11-2 08:35:05 | 显示全部楼层
学习一下啊

出5入4汤圆

 楼主| 发表于 2016-11-5 08:26:06 | 显示全部楼层
baikenor 发表于 2016-10-29 21:51
误差是不是可以正可以负呢?如果实际值大于设定值,那么占空比输出多少呢? ...

当然是可以负的。
从公式角度  偏差=设定值-实际值,偏差是负值,算出来的占空比增量就是负的,此时占空比就会变小让电机转慢一些
从整定过程看 ,速度曲线难免会出现超调或者震荡,这就是占空比变大变小的原因

出0入0汤圆

发表于 2016-11-5 11:33:20 | 显示全部楼层
谢谢分享经验 学习

出0入0汤圆

发表于 2016-11-7 16:32:35 | 显示全部楼层
tim4146 发表于 2016-11-5 08:26
当然是可以负的。
从公式角度  偏差=设定值-实际值,偏差是负值,算出来的占空比增量就是负的,此时占空 ...

如果只有比例控制存在的话,那么偏差为负值的时候是不是就输出最小占空比呢?谢谢!

出5入4汤圆

 楼主| 发表于 2016-11-7 22:35:05 | 显示全部楼层
baikenor 发表于 2016-11-7 16:32
如果只有比例控制存在的话,那么偏差为负值的时候是不是就输出最小占空比呢?谢谢! ...

我只从增量式PID公式的角度解释,在目标值为正值的情况下,如果偏差为负数的话说明当前实际值太大了,那么控制值将会减小。
比如我设定速度是2000rpm,实际是2300rpm,那么e=设定-实际 就是负数了,算出来的控制量的调整值必然是负数,即“告诉”系统减小控制量的大小让电机减速

出0入0汤圆

发表于 2016-11-11 11:21:47 | 显示全部楼层
tim4146 发表于 2016-11-7 22:35
我只从增量式PID公式的角度解释,在目标值为正值的情况下,如果偏差为负数的话说明当前实际值太大了,那 ...

这时候应该是输出负值了吧,如果到达PIDMIN的限制,那么就是输出最小值,对吗?谢谢!

出0入0汤圆

发表于 2016-11-11 13:58:05 | 显示全部楼层
谢谢楼主分享。。。。

出0入0汤圆

发表于 2017-1-7 10:55:11 | 显示全部楼层
你好!
是不是应该修改一下这里?你原来是这样的:
pid_PR.sum_error += ( incPIDcalc( frequency1 ) ); //计算增量并累加
pwm1 = pid_PR.sum_error * 4.6875;  //pwm1 代表将要输出PWM的占空比

修改成这样:
pid_PR.sum_error = ( incPIDcalc( frequency1 ) ); //计算增量并累加
pwm1 += pid_PR.sum_error * 4.6875;  //pwm1 代表将要输出PWM的占空比

虽然两者的计算结果是一样的,但意思是完全不同的。修改前实际上表达的是位置式PID的意思,修改后才是增量式PID的意思。



出0入0汤圆

发表于 2017-1-7 11:14:30 | 显示全部楼层
增量式PID在控制方面作用还是很大的

出30入0汤圆

发表于 2017-1-9 18:55:21 | 显示全部楼层
楼主的编程风格我很欣赏!

出0入0汤圆

发表于 2017-1-9 20:18:46 | 显示全部楼层
学习学习

出0入4汤圆

发表于 2017-1-9 22:49:29 | 显示全部楼层
mark 学习一下 谢谢分享

出0入0汤圆

发表于 2017-1-10 06:34:05 来自手机 | 显示全部楼层
mark一下,学习了

出0入0汤圆

发表于 2017-1-10 08:04:42 | 显示全部楼层

谢谢楼主分享。

出0入4汤圆

发表于 2017-1-10 08:14:29 | 显示全部楼层
收起来好好看看

出0入0汤圆

发表于 2017-1-10 09:56:14 | 显示全部楼层
谢谢共享,学习一下~~~~~~~~~~~~~~~~~~~~~~~

出0入0汤圆

发表于 2017-1-10 11:18:21 | 显示全部楼层

好帖子,MARK!

出5入4汤圆

 楼主| 发表于 2017-1-17 22:00:15 | 显示全部楼层
留声而过 发表于 2015-7-31 07:13
你的程序我基本看懂了。PID以前只用过P算法,看了你的帖子我要加上ID算法试试。 ...

理论上只用P控制,会存在稳态误差,不知道你是怎么解决的。

出0入0汤圆

发表于 2017-1-17 22:43:05 | 显示全部楼层
mark                  

出0入0汤圆

发表于 2017-2-17 17:11:09 | 显示全部楼层
茅舍顿开啊!多谢

出0入0汤圆

发表于 2017-3-14 15:55:15 | 显示全部楼层
非常好 小白学习的好资料 万分感谢

出0入0汤圆

发表于 2017-6-20 17:46:17 | 显示全部楼层
不错,收藏 了

出0入0汤圆

发表于 2017-6-20 19:39:46 | 显示全部楼层
mark。。。。。

出0入0汤圆

发表于 2017-7-20 09:02:31 | 显示全部楼层
用是可以用了,用你的方法,我的是调温系统,稳定时间久了一点,需要三分钟。

出0入0汤圆

发表于 2017-7-26 17:48:24 | 显示全部楼层
感觉整定很难

出0入0汤圆

发表于 2017-10-20 11:38:23 | 显示全部楼层
好帖子  很详细  顶。。。。。

出0入0汤圆

发表于 2017-11-21 16:08:50 | 显示全部楼层
膜拜强人,谢谢分享.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-23 19:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表