首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在TwinCAT3 PLC上设置EL6002或EL6001的波特率?

如何在TwinCAT3 PLC上设置EL6002或EL6001的波特率?
EN

Stack Overflow用户
提问于 2017-09-15 09:34:24
回答 2查看 1.2K关注 0票数 1

我找不到如何为贝克霍夫EL6002设置波德率。我得到了一个提示,我应该为此使用CoeWrite块,但是由于我对TwinCAT有点陌生,所以找不到正确的函数块。有人可以发送一个代码示例(关于结构化文本)如何做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-18 04:28:25

另一个解决方案是在IO配置和COE选项卡下更改它。当您在那里更新它时,它将永远记住它的值。

在代码中,您也可以通过CoE (Can over EtherCAT)更新它。您可以从文档中找到设置变量的索引号。对于通道1,似乎是8000:11,所以索引= 8000,子索引= 11。

然后,通过使用来自EcCoESdoWriteEx库的邮箱写入块( Tc2_EtherCAT ),可以将值写入该参数。因此,当您的PLC程序启动时,首先运行将变量更新为所需波德率的代码。

例如,如下所示:

代码语言:javascript
运行
复制
TargetValue := 1; //WORD, Check documentation for correct value

//MailBoxWriter = Instance of FB_EcCoESdoWriteEx
MailBoxWriter(
        sNetId:= **AmsNetId of the EtherCAT master**, 
        nSlaveAddr:= **Serial interface terminal port**, 
        nSubIndex:= 11, 
        nIndex:= 8000, 
        pSrcBuf:= ADR(TargetValue), 
        cbBufLen:= SIZEOF(TargetValue), 
        bExecute:= TRUE, 
        tTimeout:= T#500MS, 
        bCompleteAccess:= FALSE, 
        bBusy=> , 
        bError=> , 
        nErrId=> 
    );

sNetId是EtherCAT总线主站的AmsNetId。它可以通过IO配置链接,请参阅Master->Infodata->AmsNetId

nSlaveAddr是来自EL6002的终端端口,可以通过IO配置链接,参见Terminal->InfoData->AdsAddr->port

票数 1
EN

Stack Overflow用户

发布于 2017-09-15 11:51:29

编程的另一种选择是通过IO配置直接配置它。如果添加启动值,则每次IO从指定状态更改到另一状态时都会设置该值。在下面的图片中,PS指的是从预操作到安全.因此,即使您替换了IO,它也会起作用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46236380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档