0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CM CANopenS7-1200 PLC的CANopen主站/从站模块

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2022-06-13 10:59 次阅读

AGV小车的基础控制

ed3e4b7e-ea63-11ec-ba43-dac502259ad0.png

HMS Industrial Networks 的 CM CANopen 模块与 Siemens 的 S7-1200 PLCTIA Portal 配置示例。在此示例中,使用了 1214C 类型的 CPU,但该示例也可以应用于所有其他 PLC 类型。要运行此示例,必须已安装可从 https://www.ixxat.com/technical-support/resources/downloads-and-documentation?ordercode=021620-B下载的 HSP 文件。

ed5459c8-ea63-11ec-ba43-dac502259ad0.png

CANopen网络连接:

分别对应连接CM模块和LXM28A伺服的CAN_H、CAN_L和SHLD引脚,在CM模块CAN_H和CAN_L之间接入120欧姆电阻,并且在CANopen网络中最后一台设备CAN_H和CAN_L之间接入120欧姆电阻。

打开 TIA Portal 程序并通过单击屏幕左侧的“创建新项目”开始一个新项目。

ed88c3e8-ea63-11ec-ba43-dac502259ad0.png

2. 输入项目名称和项目存储路径,可选择包含作者和描述性注释等信息。按“创建”。

eda08546-ea63-11ec-ba43-dac502259ad0.png

3. 选择左侧的“设备和网络”,然后按“添加新设备”。

edb75d0c-ea63-11ec-ba43-dac502259ad0.png

4. 选择配置中使用的 PLC 类型。选择正确的软件版本并可选择输入 PLC 的名称(默认 PLC_1)。按“添加”。

edc6b5c2-ea63-11ec-ba43-dac502259ad0.png

5. 如图所示,在列表中选择CM CANopen模块。将模块的一个实例拖放到 PLC 模块的左侧。

edd9fdd0-ea63-11ec-ba43-dac502259ad0.png

6. 双击 PLC 上的以太网连接器并为 PLC 输入正确的 IP 地址。

edeb3208-ea63-11ec-ba43-dac502259ad0.png

7. 双击CM CANopen模块的连接器,选择模块参数选项卡。在参数列表中输入值。请注意,这些参数对 CANopen 网络上的模块有效。

在本例中,用于 S7-1200 的 CM CANopen 模块被配置为 CANopen 管理器。

CANopen 网络上的节点号为 1。CANopen 波特率设置为 500 kbit/s,输入数据大小和输出数据大小均设置为 32 字节。

ee1aa402-ea63-11ec-ba43-dac502259ad0.png

8. 配置现已完成,可以下载到 S7-1200 设备。要下载软件配置,请选择右侧的 PLC_1,然后选择“在线”>“下载到设备”。要下载硬件配置,请右键单击树中的设备并选择“下载到设备”>“全部”。

ee2dedbe-ea63-11ec-ba43-dac502259ad0.png

9. 选择您正在使用的 PG/PC 接口(在此示例中为 PN/IE)和您 PC 上的以太网接口(在此示例中为 Intel 82577...)。如果在网络上找到之前输入的 IP 地址,请按“加载”下载到您的设备。如果没有,请从“目标子网中的可访问设备”窗口中的可用列表中选择正确的设备。如果设备在另一个子网上,并且在此窗口中不可用,则必须选中“显示所有可访问的设备”复选框。

ee463ab8-ea63-11ec-ba43-dac502259ad0.png

10.如果下载成功,将出现以下屏幕询问PLC是否应该启动。按完成,PLC 将开始运行下载的空程序。

ee55c686-ea63-11ec-ba43-dac502259ad0.png

11.模块配置完成,可以开始PLC编程了。

创建用于进行PDO数据读写的FC功能块:①在“程序块”中添加FC100功能块并命名为“PDO读写”;② 在“扩展指令”下展开“分布式IO”找到RDREC和WRREC指令;③分别将RDREC和WRREC指令拖入程序段1和程序段2中。

ee6a682a-ea63-11ec-ba43-dac502259ad0.png

RDREC参数说明:读取PDO数据

REQ 功能块使能位 VALID TRUE代表新的数据记录已接收且有效

ID CM模块硬件标识符 BUSY TRUE代表读取数据的过程还未完成

INDEX 16#0090 ERROR TRUE代表在读取数据的过程中产生错误

MLEN CANopen输入数据大小(bytes) STATUS 功能块状态和错误信息

RECORD 读取的数据存放的地址域 LEN 读取数据的长度

WRREC参数说明:写入PDO数据

REQ 功能块使能位 DONE TRUE代表数据已写入CM模块

ID CM模块硬件标识符 BUSY TRUE代表写入数据的过程还未完成

INDEX 16#0091 ERROR TRUE代表在读取数据的过程中产生错误

LEN CANopen输出数据大小(bytes) STATUS 功能块状态和错误信息

RECORD 写入的数据来源的地址域

2. 创建PDO读写指令块变量:打开“PLC变量”下的“默认变量表”,分别添加PDO读写指令块需要用到的参数变量:

ee7d7456-ea63-11ec-ba43-dac502259ad0.png

3. PDO读取数据指令块的参数具体分配如下图所示:

1) 读取的数据存放于M区中起始地址为100,长度为100Bytes(需大于或者等于MLEN)的地址区间。MLEN表明了该区间的有效数据长度,即CANopen输入数据大小。

2) 可以创建DB数据块(例如DB3),RECORD定义为P#DB3.DBX100.0 BYTE 100,读取的数据存入DB3块中起始地址100,长度100Bytes 的地址区间。注意DB块属性中的“优化的块访问”不要勾选。

eea7a4e2-ea63-11ec-ba43-dac502259ad0.png

4. PDO写入数据指令块的参数具体分配如下图所示:

1) 写入的数据来源于M区中起始地址为200,长度为100Bytes(需大于或者等于LEN)的地址区间。LEN表明了该区间中的有效数据长度,即CANopen输出数据大小。

2) 可以创建DB数据块(例如DB3),RECORD定义为P#DB3.DBX200.0 BYTE 100,写入的数据来源于DB3块中起始地址200,长度100Bytes 的地址区间。注意DB块属性中的“优化的块访问”不要勾选。

eebd8546-ea63-11ec-ba43-dac502259ad0.png

5. 根据以上配置可以确认PDO传输参数的地址映射如下表所示:

6. 数据转换:由于CANopen和PLC分别使用的不同的数据格式,所以需要将PDO传输的原始数据转换为可以直接进行读取和设定的用户数据:

1) 创建用户数据块:创建全局数据块DB100,并在DB100中分别添加需要对伺服进行读取的反馈参数和需要对伺服进行写入的设定参数。

eedbba3e-ea63-11ec-ba43-dac502259ad0.png

2) 创建PDO读取数据转换功能块FC101:①在“程序块”中添加FC101功能块并命名为“PDO读_Swap”;② 利用Swap指令和Move指令将PDO读取的数据转换为用户数据。

eef41264-ea63-11ec-ba43-dac502259ad0.png

3) 创建PDO写入数据转换功能块FC102:①在“程序块”中添加FC102功能块并命名为“PDO写_Swap”;② 利用Swap指令和Move指令将用户数据转换为PDO写入的数据。

ef0c3218-ea63-11ec-ba43-dac502259ad0.png

4) 在PDO读写功能块中调用FC101和FC102: 打开FC100功能块,在程序段1(RDREC)和程序段2(WRREC)之间插入新的程序段,在新的程序段中分别调用FC101和FC102如图所示:

ef29627a-ea63-11ec-ba43-dac502259ad0.png

7. 在OB1中调用PDO读写功能块FC100,保存配置并进行编译下载:

ef41bdde-ea63-11ec-ba43-dac502259ad0.png

8. 创建监控表:①在“监控与强制表”中添加新的监控表;②添加PDO读取数据指令块的对应变量和用户数据块中的伺服状态参数;③添加PDO写入数据指令块的对应变量和用户数据块中的伺服控制参数。

ef5622ce-ea63-11ec-ba43-dac502259ad0.png

9. 在线进行监控:①点击“监控”图标进入在线状态;②将R_Req的修改值置为TRUE;③点击“立即修改”图标将修改值写入对应变量;④ 伺服状态参数的对应数据已经被成功读取,查看伺服通讯手册可知状态字16#4231代表伺服处于“Ready to Switch On”状态。

ef9f2532-ea63-11ec-ba43-dac502259ad0.png

10. 绝对位置运动控制测试:① 将W_Req修改值置为TRUE;② 分别对伺服控制参数进行赋值;③依次向控制字中写入0x00060x00070x000F0x001F,每次赋值后点击“立即修改”图标;④ 电机转动一段时间后停止,此时读取实际位置数据与目标位置数据一致。

efb86e52-ea63-11ec-ba43-dac502259ad0.png

-----伺服运动控制例程 -------

该部分以位置模式下的“绝对位置,立刻更新”控制方式为例,编写对伺服进行运动控制的简单例程,供用户在实际编程应用中作参考。

创建功能块FB110并进行变量声明:①在“程序块”中添加FB110 功能块并命名为“位置模式控制”;② 在“变量声明表”中添加以下变量:

efe26644-ea63-11ec-ba43-dac502259ad0.png

2. 在程序段1中编写程序用于控制伺服上电后自动进入“运行使能”状态:

f009bb9a-ea63-11ec-ba43-dac502259ad0.png

f01822e8-ea63-11ec-ba43-dac502259ad0.png

3. 在程序段2中编写程序用于自动触发“绝对位置,立即更新”方式下的位移指令:

f02e7f02-ea63-11ec-ba43-dac502259ad0.png

4. 在OB1组织块的程序段3中编写程序用于控制PLC自动使能PDO读写和网络诊断:

f0439e28-ea63-11ec-ba43-dac502259ad0.png

5. 在OB1组织块的程序段4中调用FB110并赋予实参如图所示:

f05b26d8-ea63-11ec-ba43-dac502259ad0.png

6. 在OB1组织块的程序段5中编写程序用于控制伺服上电后自动回零:

f06cbd62-ea63-11ec-ba43-dac502259ad0.png

7. 在OB1组织块的程序段6中编写程序用于控制伺服自动进行连续的正反转位移指令:

f07afe4a-ea63-11ec-ba43-dac502259ad0.png

8. 点击“保存项目”并重新进行编译和下载。下载完成后对PLC和伺服重新上电,此时可以看到电机缓慢转动一段时间后停止,此时通过PLC监控表或者伺服HMI可以看到实际位置显示为0:

f08ca758-ea63-11ec-ba43-dac502259ad0.png

9. 在监控表中添加“自动运行控制”和“目标到达”变量,向“自动运行控制”中写入修 改值TRUE,此时可以看到电机先以较慢的速度正向移动到8000000位置(第一段位移指令),然后以较快速度正向移动到15000000位置(第二段位移指令),最后以较慢的速度反向移动到6000000位置(第三段位移指令),此时“目标到达”为TRUE。

提示:“目标到达”为TRUE后再次向“自动运行控制”中写入修 改值TRUE,电机会再次自动执行以上三段位移指令。

f0a6a036-ea63-11ec-ba43-dac502259ad0.png

--------------------待续------------------

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10824

    浏览量

    211109
  • AGV
    AGV
    +关注

    关注

    27

    文章

    1280

    浏览量

    41001

原文标题:CM CANopenS7-1200 PLC的CANopen主站/从站模块,使用的功能块

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CANopen系列】CANopen为什么总不上传PDO报文?

    CANopen网络中无法获取的TPDO数据?本文将为您解析可能的原因及解决方案。通过检查TPDO的通信参数和传输类型,确保
    的头像 发表于 09-19 08:05 243次阅读
    【<b class='flag-5'>CANopen</b>系列】<b class='flag-5'>CANopen</b><b class='flag-5'>从</b><b class='flag-5'>站</b>为什么总不上传PDO报文?

    EtherCATCANopen总线协议转换网关配置详情

    关于EtherCATCANopen如何实现有效连接与通信,一直是许多人深感困惑的问题。现在,为大家集中解答这一疑问。远创智控YC-
    的头像 发表于 08-25 14:39 281次阅读
    EtherCAT<b class='flag-5'>从</b><b class='flag-5'>站</b>转<b class='flag-5'>CANopen</b><b class='flag-5'>主</b><b class='flag-5'>站</b>总线协议转换网关配置详情

    EtherCAT转Profinet协议网关(YC-PNM-ECT)

    远创智控YC-PNM-ECT型网关实现了EtherCAT(简称 ECT)和Profinet(简称 PN)。模块作为ECT
    的头像 发表于 08-25 09:36 292次阅读
    EtherCAT转Profinet<b class='flag-5'>主</b><b class='flag-5'>站</b>协议网关(YC-PNM-ECT)

    DeviceNet转EtherCAT协议网关(JM-ECT-DNTM)

    往往采用DeviceNet进行通讯,当需要将DeviceNet协议的组件接入EtherCAT主控系统时,通过DeviceNet转EtherCAT
    的头像 发表于 08-21 10:44 280次阅读
    DeviceNet<b class='flag-5'>主</b><b class='flag-5'>站</b>转EtherCAT<b class='flag-5'>从</b><b class='flag-5'>站</b>协议网关(JM-ECT-DNTM)

    Modbus TCP转Profinet协议网关(JM-PNM-TCP)

    捷米特JM-PNM-TCP网关能够实现了Modbus TCP和Profinet(简称 PN)。网关作为Modbus TCP
    的头像 发表于 08-20 11:51 217次阅读
    Modbus TCP转Profinet<b class='flag-5'>主</b><b class='flag-5'>站</b>协议网关(JM-PNM-TCP)

    CANopen转Profinet协议网关(JM-PN-COP)

    /1200/1500全系列PLC以及具有Profinet系统无缝对接。CANopen端既可以做主
    的头像 发表于 08-19 18:30 488次阅读
    <b class='flag-5'>CANopen</b><b class='flag-5'>主</b><b class='flag-5'>站</b>转Profinet<b class='flag-5'>从</b><b class='flag-5'>站</b>协议网关(JM-PN-COP)

    EtherCATCANopen协议网关(JM-ECT-COP)

    的驱动器可能采用CANopen协议进行控制和反馈,而整个机器人的控制系统基于EtherCAT网络。EtherCATCANopen
    的头像 发表于 08-15 17:36 366次阅读
    EtherCAT<b class='flag-5'>从</b><b class='flag-5'>站</b>转<b class='flag-5'>CANopen</b><b class='flag-5'>主</b><b class='flag-5'>站</b>协议网关(JM-ECT-COP)

    EtherCATCANopen总线协议转换网关

    给各位全面且详尽地阐述该设备的功能、参数以及配置的方法。 一,产品主要功能 远创智控YC-ECT-COP是自主研发的一款EtherCAT功能的通讯网关。该产品主要功能是将EtherCAT网络和CANopen网络连接起来。 本
    的头像 发表于 08-12 16:53 414次阅读
    EtherCAT<b class='flag-5'>从</b><b class='flag-5'>站</b>转<b class='flag-5'>CANopen</b><b class='flag-5'>主</b><b class='flag-5'>站</b>总线协议转换网关

    esp32当modbus-rtu slave通讯,收不到的响应报文是哪里的问题?

    有朋友测试过esp32当 modbus slave(我拿的esp32当,用的是RTU模式)吗? 我用modbus poll软件测试下来,
    发表于 06-17 07:39

    常见的可以作为CAN模块或设备有哪些

    作为CANopen,通过CAN接口连接CANopen设备,实现数据采集、监测和控制等功能
    的头像 发表于 06-14 11:23 573次阅读

    电机控制领域如何实现CANopen设备接入EtherCAT控制器

    通讯技术,在电机控制领域具有广泛的应用,典型的产品中PLC、运动控制器等产品都有大量EtherCAT通讯产品.此外CANopen是一种传统常见的工业自动化通讯协议
    的头像 发表于 04-03 08:23 523次阅读
    电机控制领域如何实现<b class='flag-5'>CANopen</b>设备接入EtherCAT<b class='flag-5'>主</b><b class='flag-5'>站</b>控制器

    EtherCAT转Ethernet/IP网关

    EtherCAT转Ethernet/IP网关,YC-ECTM-EIP工业级Profinet 网关,支持EtherNet/IP,即插即用 无需编程 轻松组态 ,即实现数据交互,导
    的头像 发表于 02-27 16:05 492次阅读
    EtherCAT<b class='flag-5'>主</b><b class='flag-5'>站</b>转Ethernet/IP网关

    Profinet转Ethernet/IP网关

    Porfinet转Ethernet/IP网关,YC-PNM-EIP工业级Profinet 网关,支持EtherNet/IP,即插即用 无需编程 轻松组态 ,即实现数据交互,导轨
    的头像 发表于 02-26 21:29 415次阅读
    Profinet<b class='flag-5'>主</b><b class='flag-5'>站</b>转Ethernet/IP网关

    通过CANopen转Modbus TCP网关的伺服系统

    。 通过CANopen转Modbus TCP网关,我们能够实现CANopen协议与Modbus TCP协议之间的转换。网关可以配置为CANopen
    发表于 01-02 16:51

    耐用通信Ethercat转canopen网关在钢铁行业的应用案例

    河北某钢厂的 PLC 控制系统改造项目。在该系统中,客户的国产plc作为Ethercat,用户的伺服是采用canopen通信的设备,耐用
    的头像 发表于 12-25 10:19 454次阅读
    耐用通信Ethercat转<b class='flag-5'>canopen</b>网关在钢铁行业的应用案例