控制由触摸屏去控制,控制的功能键如下
M0是手自动切换开关,M1是启动按钮,再自动状态下,按下M1,电机会走到位置1,再走到位置2,再走到位置3,再到4,再到5,然后回到第一步,不断循环。M2是停止的按钮,按下去后动作停止,M3是正转点动控制,M4是反转点动控制,M5是原点回归启动,按下原点回归,电机能够自动回到原点X3。
下面我们开始写程序,先写手动控制的程序,两个对应的M点分别控制输出正转和反转,把正反极限写入。然后是原点回归的程序,触发由M5触发,由M6保持自锁,然后秒是原点回归完成标志位,当原点回归完毕后M7会导通,后面的自动控制程序需要在这个条件下才能触发。把D8340的位置信息传送到D30,然后由触摸屏显示实际的位置,通过D8345和D8346设定好爬行速度和原点回归速度。
接下来我们在触摸屏里面输入的是实际的距离,那么需要进行计算,这里我们需要学习定位的计算相关知识点。我们这里通过之前做好的一个FB块,通过变址,把对应的5个位置的信息进行计算,计算出实际所需的脉冲数,原本是D20、D22、D24、D26、D28,计算出的脉冲结果保存在D10、D12、D14、D16、D18里面,后面我们通过自动的程序去进行调用。
FB块内部的程序如下,是结合ST语言去编写的下:
得到D10、D12、D14、D16、D18这几个位置信息后,下面我们写定位的顺序控制程序,通过M1按钮对程序进行启动,通过D0来记录动作的步骤,用mov指令把K1送到D0里面,程序进入第一步:
自动第一步,用绝对得指令,让电机走到D10的位置:
动作完成M8029导通,把K2传送到D0里面,程序进入第二步,电机走到D12的位置
动作完成M8029导通,把K3传送到D0里面,程序进入第三步,电机走到D14的位置
动作完成M8029导通,把K4传送到D0里面,程序进入第四步,电机走到D16的位置
动作完成M8029导通,把K5传送到D0里面,程序进入第四步,电机走到D18的位置
动作完成M8029导通,把K1传送到D0里面,回到第一步,不断循环。
这一部分的程序需要注意,由于受扫描周期影响(这个需要看课程讲解,不然文字解释不清楚)上面那些动作需要逆序去写程序。
来源:PLC发烧友,作者:陈育鑫
有话要说...