发布于 2007-06-28 10:15:35
0楼
在位置模式PID的控制下,你需要的是绝对定位模式. 而S7-200本身的指令都是增量式的,但是解决的办法有三个:一个是加编码器计数(这个最可靠,但是费点成本);另一个是用内部计数模式12自己搭建绝对定位的指令(就是每次PLC发出脉冲都要计数,在步进不丢步的情况下就能实时的知道步进电机当前所处的绝对位置了);再有一个可以用EM253位控模块,这个是带绝对定位的,而且性能更好,当然价格更贵,呵呵。 以上三种情况都需要开机回零操作,即为绝对定位模式确定一个绝对的零点。 接下来要做的就是PID的标定了。 假定阀的最大开度对应的位置为X毫米, 而你又可以确定步进电机每运动一毫米所需要的脉冲个数为n,那么阀的最大开度对应的脉冲个数为X*n ; 那么PID的输出值(假设为标准量) 0.0-1.0对应了步进的位置为0-X*n 了。 在你执行PID后得到一个输出值为y (y在0.0-1.0之间),那么此时对应的步进位置为X*n*y ;然后以此做为绝对位置给定步进电机执行即可。 在这个过程中需要选定好PID周期,步进电机的速度等等以确保在每次执行完PID程序后步进电机能够正确的执行PID的输出值。
另外,如果采用增量式的PID控制,可以用增量式的脉冲来解决,当然具体还得看你工艺条件,不好乱下结论。
I can do it