编写西门子plc伺服控制程序
程序示例M1 // 主程序开始
N100 // 初始化参数
LDI #100 // 加载初始位置值100
STW 0 // 将参数存入寄存器0
MOV 0,1 // 将寄存器0的参数复制到寄存器1中
MOV 1,2 // 将寄存器1的参数复制到寄存器2中
MOV 2,3 // 将寄存器2的参数复制到寄存器3中
N200// 读入期望位置目标,比如150
LDI #150// 读入目标位置
STW 4//将期望位置保存在4号单元
MOV 3,5//将当前实际位置读出来放在5号单元
SUB 5,4//计算误差e=x_d-x_a
MOV 5,6//将误差e放在6号单元
JMP N300//跳转至PID运行部分
N300: PID运行部分 P=Kp*e MUL 6,#Kp STW 7 I=I+T*e/Ti DIV 6 ,#Ti ADD 8 ,7 STW 8 D=-Kd*(x-x_last)/Td SUB 5 ,9 MUL 10 ,#Kd DIV 10 ,#Td STW 11 u=P+I+D ADD 7 ,8 ADD 11 ,12 STW 12 x_last=x MOV 5,9 u频闪 JMP N400
创作工场
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!