首页 > 其他分享 >TwinCAT3中通过PLC修改Coe参数的例程

TwinCAT3中通过PLC修改Coe参数的例程

时间:2023-08-04 10:35:15浏览次数:36  
标签:END bError 例程 TwinCAT3 bExecute FB PLC fbSdoWrite VAR

CoE 接口的驱动器,要在 PLC 程序中修改驱动器参数,可以使用 CoeSDO 通讯的方式 。

CoeSDO 通 讯 的 功 能 块 包 括 FB_EcCoeSdoRead , FB_EcCoeSdoWrite ,FB_EcCoeSdoReadEx , FB_EcCoeSdoWriteEx 等 , 属 于 库 文 件 TcEtherCAT.Lib 。

以FB_EcCoeSdoWriteEx 为例。首先导入Tc2_EtherCAT.Lib库文件。

以修改8010:01最大电流为800mA为例。

Coe子模块:

 1 FUNCTION_BLOCK CoeSet
 2 VAR_INPUT
 3     bExecute   : BOOL; (* rising edge starts writing to the CoE Object *) 
 4 END_VAR
 5 
 6 VAR_OUTPUT
 7     bError     : BOOL;    
 8     nErrId     : UDINT;
 9 END_VAR
10 
11 VAR
12     fbSdoWrite             : FB_EcCoESdoWrite;    
13     sNetId                 : T_AmsNetId := '169.254.208.225.3.1'; (* NetId of EtherCAT Master *)
14     
15     nSlaveAddr_1         : UINT := 1002; (* Port Number of EtherCAT Slave *)    
16     nMaxCurrent             : WORD := 16#8010; (* CoE Object Index *) 
17     nMaxCurrentSubIndex     : BYTE := 1; (* Subindex of CoE Object *)    
18     valueMaxCurrent_1         : UINT := 800; (* variable to be written to the CoE Object *)   //注意数据类型,在Coe中具体查看
19 END_VAR
 1 fbSdoWrite(
 2     sNetId     := sNetId,
 3     nSlaveAddr := nSlaveAddr_1,
 4     nIndex     := nMaxCurrent,
 5     nSubIndex  := nMaxCurrentSubIndex,
 6     pSrcBuf    := ADR(valueMaxCurrent_1),
 7     cbBufLen   := SIZEOF(valueMaxCurrent_1),
 8     bExecute   := bExecute
 9 );
10 
11 
12 IF NOT fbSdoWrite.bBusy THEN
13     bExecute := FALSE;
14     IF NOT bError THEN 
15         (* write successful *)
16         bError := FALSE;
17         nErrId := 0;
18     ELSE 
19         (* write failed *)
20         bError := fbSdoWrite.bError;
21         nErrId := fbSdoWrite.nErrId;
22     END_IF
23 
24     fbSdoWrite(bExecute := FALSE);
25 END_IF

主程序:

1 PROGRAM MAIN
2 VAR
3     coe:CoeSet;
4     bExcuteCOE  : BOOL;
5     bResError    : BOOL;    
6     nResErrId   : UDINT;
7 END_VAR
coe(bExecute:=bExcuteCOE,bError=>bResError,nErrId=>nResErrId);

sNetId: EtherCAT 主站卡的 NetID,字符串,如下图。

 nSlaveAddr: 要写参数的 EtherCAT 节点地址。如下图中的 EtherCAT Addr:1002。

nSubIndex 若没有时,置为空。

TwinCAT接入第三方伺服驱动器同样适用(松下验证过)。

标签:END,bError,例程,TwinCAT3,bExecute,FB,PLC,fbSdoWrite,VAR
From: https://www.cnblogs.com/ybqjymy/p/17605236.html

相关文章

  • LabVIEW通过ADS OCX实现与倍福TwinCAT3的通信测试
    LabVIEW通过ADS实现与倍福TwinCAT3通信的方法包括:ADSDLLADSOCXADSNET对于变量的读取分为定时轮询方式和事件触发方式。又可分为按地址读取和按变量名读取。本文介绍ADSOCX方法,分别介绍定时轮询方式和事件触发方式。读取状态-定时轮询192.168.0.105.1.1为NetId的地址(通......
  • TwinCAT3中松下伺服A6BF的全闭环设置步骤
    以TwinCAT3和A6BF进行全闭环测试,带有编码器和绝对式光栅尺,实测有效;扫描硬件首先安装EtherCAT网口驱动:点击安装网卡驱动(TWINCAT-ShowRealtimeEthercatCompatibelDevices,然后选中某个设备,点击Install;将官网下载的Panasonic_MINAS-A6BF_V1_3.xml文件导入D:\TwinCAT\3.1\Confi......
  • TwinCAT3 PLC中在Action中控制电机运动的教训
    -目的在Action中编写逻辑,控制任意电机的启停运动。-错误案例逻辑和电机控制在两个Action中,发现电机不运行,不知何故。-正确案例注意:1.开头bComPoweOn一定放在外面用来使能;2.用Case语句时,下面的必须加在初始0上;rDistance[1]:=0.0;rVelocity[1]:=0.0;bComMoveRela[1]:=FALSE......
  • 倍福Beckhoff TWinCAT ADS PLC编程
    一、倍福TWinCATADS简述在BeckhoffTwinCAT系统中,各个软件模块(如TwinCATPLC、TwinCATNC、Windows应用程序等)及硬件系统CX、BX、BC系列控制器中包含TwinCAT信息路由器。因此各个ADS设备之间都能够交换数据和信息。二、TWinCatADS设备标识每台TwinCATADS设备都有各自不......
  • Qt TwinCAT3中的变量回调函数的时间戳读取方式
    官网提供了例程,官网真是个宝库。基本ADS的操作都里面有例程了,但是可能会稍微分散一点,不过多看几遍,也就慢慢整理你所需要的东西出来了。https://infosys.beckhoff.com/index_en.htm1#include<Windows.h>2#include<conio.h>3#include<winbase.h>45#include<TcA......
  • 运动控制- PLC的“扫描周期”以及ST指令的特性
    水滴社区的文章[资料分享]【资料分享】PLC的“扫描周期”以及ST指令的特性http://bbs.inovance.com/forum.php?mod=viewthread&tid=5515&_dsign=2e02117e理解codesys的Taskhttps://www.bilibili.com/video/BV1NG411M741/?p=7......
  • [8月摸鱼计划] MILKV DUO可以实现的功能及例程
    MILKVDUO是一个基于深度学习的计算机视觉库,它提供了许多功能和例程来处理图像和视觉任务。下面是几个MILKVDUO可以实现的功能以及相应的功能例程:图像分类(ImageClassification):功能:将输入的图像分为不同的类别或标签。例程:使用预训练的卷积神经网络(CNN)对图像进行分类,例如将猫和狗......
  • 三菱plcCCLINK转profinet与西门子PLC通讯案例分析
    用三菱PLC的控制系统需要和西门子的PLC控制系统交互数据,捷米JM-PN-CCLK 是自主研发的一款 PROFINET 从站功能的通讯网关。该产品主要功能是将各种 CCLINK 总线和 PROFINET 网络连接起来。 捷米JM-PN-CCLK总线中做为从站使用,连接到 CCLINK 总线中做为从站使用。  三......
  • ETHERNET/IP 转ETHERCAT连接倍福和欧姆龙PLC的配置方法
    ETHERNET/IP和ETHERCAT是两种不同的协议,它们在工业生产中都有广泛的应用。然而,由于协议不同,这两种设备之间无法通讯,这给工业生产带来了很大的麻烦。而捷米JM-EIP-ECAT网关应运而生,它能够连接到ETHERNET/IP总线和ETHERCAT总线中,实现两种不同协议设备之间的通讯。这个网关能够大大提......
  • RS485转ETHERCAT连接支持ethercat总线的PLC
    我们将为大家介绍一款强大的设备——捷米JM-ECT-RS485/232通讯网关。这是一款自主研发的ETHERCAT从站功能的网关,它能够将ETHERCAT网络和RS485或RS232设备无缝连接。这款网关在ETHERCAT总线和RS485或RS232总线中均能发挥主站或从站的作用。它的最大特点就是解决了协议不兼容的问题......