首页 理论教育 软件界面详解

软件界面详解

时间:2023-06-29 理论教育 版权反馈
【摘要】:双击打开CoDeSys,点击新建“Project”,出现“Target Settings”窗口,选择“KU-/KW-PLC2V02.01/0627”,如图4-61所示。图4-65 Resources资源窗口总览在对以上CoDeSys界面有一定了解后,下面对AMK伺服编程中需要注意的地方进行说明。图4-71 添加同步任务程序FPLCPRGFPLCPRG程序需要在PLCPRG任务程序中调用,它是通过REGFTASK功能块实现的,如图4-72所示,该块位于“AmkBase”库文件下面的“FastSupport”文件夹下面。图4-73 FPLCPRG的Task configuration配置3.Axisdescriptionstructure轴结构定义运动控制中,电动机轴结构作为一个特殊的结构体变量,在驱动器与电动机之间起桥梁的作用。

软件界面详解

双击打开CoDeSys,点击978-7-111-40188-9-Chapter04-104.jpg新建“Project”,出现“Target Settings”窗口,选择“KU-/KW-PLC2(C383D128R32)V02.01/0627”(具体型号根据外围硬件确定,两者一致),如图4-61所示。

978-7-111-40188-9-Chapter04-105.jpg

图4-61 控制器Target选择

选择“KU-/KW-PLC2(C383D128R32)V02.01/0627”后,出现如图4-62所示窗口,可以看到“Target Platform(目标平台)”、“Memory layout(存储器布局)”、“General(一般设置)”、“Network functionality(网络功能)”、“Visualization(可视化窗口)”等选项,一般认即可。其中,在“General(一般设置)”下面有一项978-7-111-40188-9-Chapter04-106.jpg即自动加载工程断电保存功能,如果勾选,则在每次下载完CoDeSys程序后,会提示是否加载“bootproject”,加载后,系统断电重新上电后,程序保持在最后一次下载的程序。

978-7-111-40188-9-Chapter04-107.jpg

图4-62 Target目标选择详细配置

点击978-7-111-40188-9-Chapter04-108.jpg,完成对“Target Settings”的设置,出现选择“New POU”选择对话框,如图4-63所示,需要选择POU的类型以及编程语言,这里我们选择的是Program和ST。不要删除“PLCPRG”,也不可修改名字(如果你不使用任何任务配置),PLCPRG通常是工程的主程序。

978-7-111-40188-9-Chapter04-109.jpg

图4-63 新建POU类型及编程语言选择

确认后,出现编程窗口,如图4-64所示。

978-7-111-40188-9-Chapter04-110.jpg

图4-64 新建POU编程窗口

在该对话框中,包含CoDeSys编程的基本框架结构:POUs、Data types、Visualization、Resources四项。其中,POUs包括:程序结构视图、变量声明窗口、编程窗口、编译诊断窗口;Resources包括:Global Varibal(全局变量表)、Target Settings(目标选择)、PLC Config-uration(PLC组态)、Library Manager(库文件管理)、Sampling Trace(采样示波器)、TaskConfiguration(任务配置)等,如图4-65所示。

978-7-111-40188-9-Chapter04-111.jpg

图4-65 Resources资源窗口总览

在对以上CoDeSys界面有一定了解后,下面对AMK伺服编程中需要注意的地方进行说明。

1.LibraryManager(库文件管理)

安装好CoDeSys软件后,系统自动添加“Standardlib”和“AmkBaselib”指令库,如图4-66所示。

978-7-111-40188-9-Chapter04-112.jpg

图4-66 Library Manager窗口

如果需要添加新的库文件,在978-7-111-40188-9-Chapter04-113.jpg下方空白处点击右键,选择“Additional Library”,如图4-67所示。

978-7-111-40188-9-Chapter04-114.jpg

图4-67 添加库文件

此时,出现默认路径下面的库文件,这里选择添加“AmkDriveAfp”,如图4-68所示。

978-7-111-40188-9-Chapter04-115.jpg

图4-68 添加AmkDriveAfp库文件

点击978-7-111-40188-9-Chapter04-116.jpg按钮,添加成功,如图4-69所示。

978-7-111-40188-9-Chapter04-117.jpg

图4-69 添加库文件成功

2.TaskConfiguration(任务配置)

任务是IEC编程的一个时间执行单元,AMK伺服的控制任务包括非同步任务和同步任务。非同步任务在PLCPRG执行,其扫描周期不固定,由程序大小决定。同步任务在FPLCPRG中执行,扫描周期固定,时间由ID2决定,并且需要打开硬件同步信号PGT,主要完成同步信号的传递控制,请参看ID34026。

FPLCPRG任务程序的创建:首先,在程序结构视图中,点击右键,添加“Object”,如图4-70所示。

978-7-111-40188-9-Chapter04-118.jpg

图4-70 添加“Object”

出现“New POU”对话框,将名字命名为FPLCPRG,如图4-71所示。

978-7-111-40188-9-Chapter04-119.jpg

图4-71 添加同步任务程序FPLCPRG

FPLCPRG程序需要在PLCPRG任务程序中调用,它是通过REGFTASK功能块实现的,如图4-72所示,该块位于“AmkBase”库文件下面的“FastSupport”文件夹下面。

978-7-111-40188-9-Chapter04-120.jpg

图4-72 FPLCPRG在PLCPRG的注册

FPLCPRG程序在PLCPRG任务注册后,还需在“Task configuration”中配置,其中,PLCPRG配置为“cyclic”,周期为20ms。FPLCPRG配置如图4-73所示。

978-7-111-40188-9-Chapter04-121.jpg

图4-73 FPLCPRG的Task configuration配置

3.Axisdescriptionstructure(STAXIS)轴结构定义

运动控制中,电动机轴结构作为一个特殊的结构体变量,在驱动器与电动机之间起桥梁的作用。任何关于轴电动机的控制都必须使用相关的轴结构来描述和定义。

AMK伺服的轴结构是在库为“AmkBase.lib”下面的AMK预定义类型为STAXIS的多重结构体,如图4-74所示。ACC总线网络中,电动机轴均采用轴结构体来完成对电动机的控制与监视。轴结构的内容描述的是输出(PLC到驱动器)和输入(驱动器到PLC)数据,并且具有周期性交换和同步等特性。

978-7-111-40188-9-Chapter04-122.jpg

图4-74 伺服STAXIS轴结构体

那么,电动机轴如何定义呢?

第一步,点击“Resources”,找到“GlobalVariables”全局变量表,如图4-75所示。

978-7-111-40188-9-Chapter04-123.jpg

图4-75 全局变量表“GlobalVariables”

在右侧全局变量表中定义ACC主站电动机轴。先命名为“gstLocalAxis”,然后点击右键,打开“Auto Declare”如图4-76所示。

978-7-111-40188-9-Chapter04-124.jpg

图4-76 定义主站电动机轴

第二步,点击“Initial Value”右侧的978-7-111-40188-9-Chapter04-125.jpg,对其轴参数进行配置,对于主站轴,这里只需配置uiAxisNo和uiID2。其中,uiAxisNo配置为0,uiID2配置成2000(代表2ms,必须和AipexPro中的ID2一致),如图4-77所示。(www.xing528.com)

978-7-111-40188-9-Chapter04-126.jpg

图4-77 定义主站电动机轴参数

确认后,主站电动机轴的轴结构定义如图4-78所示。

978-7-111-40188-9-Chapter04-127.jpg

图4-78 主站电动机轴的轴结构定义

在主站电动机轴轴结构定义完毕后,还需要使用AMK伺服特殊的功能块ACTUALAX-IS来完成对主轴(带PLC控制卡的伺服驱动器)的实时更新,这样在使用主站电动机轴变量时,就可以直接调用轴结构体变量,如图4-79所示。

978-7-111-40188-9-Chapter04-128.jpg

图4-79 主站电动机轴主轴更新

以上完成对主轴的轴结构体的定义。那么如何对ACC从站进行轴结构体定义呢?

首先,我们需要了解ACC通信的Message信息的知识。

Messages信息用来配置ACC主站的PLC与从站通过ACC总线进行数据交换的通道,配置的内容包括发送和接收信息,具体通信地址的范围大小与PLC的资源有关。

978-7-111-40188-9-Chapter04-129.jpg

图4-80 Messages通信配置表

在图4-80所示的AipexPro软件的Message通信配置表中,虽然完成了主站轴1由wOut4对从站轴2的“wDeviceControl”的控制,但仅仅这样,还是不能完成在CoDeSys中对轴2的控制。在CoDeSys编程软件中也需要正确配置通信通道,其步骤如下。

第一步,打开CoDeSys,找到“PLC Configuration”,首先将其“Empty[SLOT]”配置成“Kx-ACC”或“AMK-Field-Bus”,如图4-81所示。

978-7-111-40188-9-Chapter04-130.jpg

图4-81 配置PLC与ACC从站I/O通信地址

第二步,插入“Input:WORD”,如图4-82所示。

978-7-111-40188-9-Chapter04-131.jpg

图4-82 插入Input通信地址

第三步,修改“Input address”,使其和Messages表地址对应,这里配置为%IB8,即%IW4,如图4-83所示。

978-7-111-40188-9-Chapter04-132.jpg

图4-83 配置Input通信地址

第四步,定义%IW4变量(这里定义的名称均为全局变量)名称,并且定义相关位变量名称,如图4-84所示。

978-7-111-40188-9-Chapter04-133.jpg

图4-84 定义IW4变量名称

第五步,用同样方法定义IW5,QW4,完成普通I/O通信方式的定义,如图4-85所示。

978-7-111-40188-9-Chapter04-134.jpg

图4-85 定义IW5,QW4变量名称

以上五步完成普通I/O通信方式的定义,下面进行AFP和同步通信通道的定义。

第六步,AFP通信通道的配置。AFP通信是通过轴结构体STAXIS下面的子结构体STEXTASSIGN中的uiAxisIn:UINT;(∗axis related input offset for basic functions∗)和uiAxisOut:UINT;(∗axis related output offset for basic functions∗)来完成的。如图4-86所示,AFP通信采取打包方式,lwAfpReadBlock对应uiAxisIn(这里为lwIn16),lwAfpWrite-Block对应uiAxisOut(这里为lwOut16)。具体地址可自由配置,但注意地址范围。可参考图4-16的地址通信表。

978-7-111-40188-9-Chapter04-135.jpg

图4-86 AFP通信通道配置

“AmkDriveAfp”库下面的功能块均使用AFP通信。AFP通信通道配置完毕后,如图4-87所示。

978-7-111-40188-9-Chapter04-136.jpg

图4-87 AFP通信配置完成

第七步,同步通信通道的配置。同步通信通过轴结构体STAXIS下面的子结构STEXTASSIGN的uiChannelIn:ARRAY[0 MAXCHANNELININD]OF UINT;(∗channel related input offset for fast functions∗)和uiChannelOut:ARRAY[0 MAXCHANNELOUTIND]OF UINT;(∗channel related output offset for fast functions∗)来完成,如图4-88所示。

978-7-111-40188-9-Chapter04-137.jpg

图4-88 SYNC通信通道配置

其中,通道号用于相关功能块的调用;总线通信地址用于配置通信通道,这里配置通道1为uiChannelOut(dwSyncIn11~diAddSetpoint32),如图4-89所示。

978-7-111-40188-9-Chapter04-138.jpg

图4-89 SYNC通信配置完成

第八步,同步通信通道的读写。同步通信获取电动机数据需要调用库“AmkBaselib”下面的功能块。通常使用的功能块为GETVALI和SETVALI、GETVALDI和SETVALDI。

GETVALI:从轴结构体中读取一个16位的变量;

SETVALI:向轴结构体中写入一个16位的变量;

GETVALDI:从轴结构体中读取一个32位的变量;

SETVALDI:向轴结构体中写入一个32位的变量。

如图4-90所示,描述的是GETVALI功能块的调用。

978-7-111-40188-9-Chapter04-139.jpg

图4-90 GETVALI功能块的调用

在我们的例子中,需要dwSyncIn11发送到2号站的diAddSetpoint32参数来完成速度同

步的功能。SETVALDI功能块对应uiChannelOut中的通道1,如图4-91所示。GET

VALI/DI功能块对应uiChannelIn。

978-7-111-40188-9-Chapter04-140.jpg

图4-91 SETVALDI功能块在FPLCPRG程序中的调用

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈