CODESYS 控制虚拟单轴运动 您所在的位置:网站首页 电子凸轮设置说明书怎么写 CODESYS 控制虚拟单轴运动

CODESYS 控制虚拟单轴运动

2023-07-05 08:55| 来源: 网络整理| 查看: 265

本人小白,正在开始学习codesys,将自己的学习过程中的一些进行记录和分享,有问题一起交流学习呀

本文是运动控制的第一部分,在本文阅读前,默认已经安装好codesys软件了,那么我们开始吧

1.在SoftMotion General Axis Pool下方的设备树中插入一个名为drive的虚拟轴。 在这里插入图片描述

2.在设备树中添加一个名为MOTION_PRG 的POUs,类型选择程序,语言选择为ST,同时添加到MainTask中,将系统自建的PLC_PRG删除。 这一步是在双击MainTask,在图中框选的位置将PLC_PRG删除,将MOTION_PRG添加进来。 当然在这个位置也可以不做这一步的操作,直接在PLC_PRG中进行编程。为了更好的突出是进行的运动控制,故添加了其他的POUs。 在这里插入图片描述 3.在MOTION_PRG中,进行程序编写。在变量声明区域声明以下变量并对某些变量赋初值。

PROGRAM Motion_PRG VAR iStatus : INT; Power :MC_Power; MoveAbsolute: MC_MoveAbsolute; p : REAL := 100; END_VAR

在程序段中编写一些程序。

CASE iStatus OF 0: Power( Axis:= Drive, Enable:= TRUE, bRegulatorOn:= TRUE, bDriveStart:= TRUE, Status=> , bRegulatorRealState=> , bDriveStartRealState=> , Busy=> , Error=> , ErrorID=> ); IF power.Status THEN iStatus := iStatus+1; END_IF 1: MoveAbsolute( Axis:=Drive , Execute:= TRUE, Position:= p, Velocity:= 100, Acceleration:= 100, Deceleration:= 100, Jerk:= , Direction:= , BufferMode:= , Done=> , Busy=> , Active=> , CommandAborted=> , Error=> , ErrorID=> ); IF MoveAbsolute.Done THEN MoveAbsolute(axis := drive,execute := FALSE); iStatus := iStatus +1; END_IF 2: MoveAbsolute( Axis:= Drive, Execute:= TRUE, Position:= 0, Velocity:= 100, Acceleration:= 100, Deceleration:= 100, Jerk:= , Direction:= , BufferMode:= , Done=> , Busy=> , Active=> , CommandAborted=> , Error=> , ErrorID=> ); IF MoveAbsolute.Done THEN MoveAbsolute(Axis := Drive,Execute := FALSE); iStatus := 1; END_IF END_CASE

4.下载至控制器中,并启动它。 5.双击名为Drive的虚拟轴,在通用选项卡中的在线,可以看到轴在运动。 在这里插入图片描述蓝色块即模拟的虚轴的位置,会在0–100之间进行运动。

有问题一起交流吧



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有