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

    文章

    11217

    浏览量

    222953
  • AGV
    AGV
    +关注

    关注

    28

    文章

    1514

    浏览量

    43444

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    稳联技术Profinet嵌入式开发板与西门子PLC S7-1200

    本案例以集成PROFINET通讯协议的OEM通讯模块,及西门子S7-1200 PLC作为PROFINET
    的头像 发表于 11-03 17:06 501次阅读
    稳联技术Profinet嵌入式开发板与西门子<b class='flag-5'>PLC</b> S<b class='flag-5'>7-1200</b>

    请教模块连接电力主后,频繁掉线,模块中pingIP延时100-120ms是否为正常?

    请教模块连接电力主后,频繁掉线,模块中pingIP延时100-120ms是否为正常?谢谢
    发表于 08-06 06:06

    PLC远距离通信:PXB-6030D的妙用

    在工业现场,Modbus串口通信的短距离限制一直是工程师们面临的难题。本期我们将探讨如何通过ZLG致远电子PXB-6030D解决PLC
    的头像 发表于 07-17 11:39 390次阅读
    <b class='flag-5'>PLC</b>与<b class='flag-5'>从</b><b class='flag-5'>站</b>远距离通信:PXB-6030D的妙用

    阀门拉手传感器,Ethernetip转canopen网关解决AB-PLC的冷门用法

    拉手传感器通信,但AB-PLC原生不支持CANopen协议。通过EtherNet/IP转CANopen网关,如稳联技术,VLINE,GWBX),我们实现了高效协议转换: 1. **硬件配置** - 网关作为
    的头像 发表于 06-21 13:46 666次阅读
    阀门拉手传感器,Ethernetip转<b class='flag-5'>canopen</b>网关解决AB-<b class='flag-5'>PLC</b>的冷门用法

    开疆智能Devicenet转ModbusTCP网关连接台达通讯模块配置案例

    本案例是通过开疆智能Devicenet转ModbusTCP网关连接台达Devicenet通讯模块DVPDT02-H2的配置案例,网关作为ModbusTCP服务器和Devicenet
    的头像 发表于 06-17 16:45 686次阅读
    开疆智能Devicenet转ModbusTCP网关连接台达<b class='flag-5'>从</b><b class='flag-5'>站</b>通讯<b class='flag-5'>模块</b>配置案例

    CANopen转PROFINET网关:西门子S7-1200 PLC与欧姆龙NJ系列PLC通信方案

    进行通信,而另一部分则依赖 CANopen协议 。为实现不同协议设备之间的无缝通信与协同工作,引入高效可靠的 协议转换网关 成为当务之急。 二、设备选型 1. ROFINET协议PLC
    的头像 发表于 06-12 15:25 542次阅读
    <b class='flag-5'>CANopen</b>转PROFINET网关:西门子S<b class='flag-5'>7-1200</b> <b class='flag-5'>PLC</b>与欧姆龙NJ系列<b class='flag-5'>PLC</b>通信方案

    开疆智能Profinet转Profibus网关连接EC-CM-P1 PROFIBUS DP通讯模块配置案例

    本案例是通过开疆智能Profibus转Profinet网关将正弦研发的Profibus模块连接的EM600变频器接入到西门子1200PLC的配置案例。 配置过程 1. 打开网关配置
    的头像 发表于 05-29 16:28 598次阅读
    开疆智能Profinet转Profibus网关连接EC-<b class='flag-5'>CM</b>-P1 PROFIBUS DP<b class='flag-5'>从</b><b class='flag-5'>站</b>通讯<b class='flag-5'>模块</b>配置案例

    profibusDP转profinet网关接ABB电机保护单元与1200plc通讯

    标准,提供了更高的带宽和更灵活的架构。本文将探讨如何通过一个Profibus DP转Profinet网关,将ABB电机保护单元与S7-1200 PLC进行通信。
    的头像 发表于 05-19 10:09 399次阅读
    profibusDP<b class='flag-5'>主</b><b class='flag-5'>站</b>转profinet网关接ABB电机保护单元与<b class='flag-5'>1200plc</b>通讯

    还在为工业网关的ETHERNET/IP配置和CANopen设置感到困扰?本文将为您详细解析工业协议转换的配置技巧

    产品主要功能 疆鸿智能JH -EIP-COP 连接到EtherNet/IP总线中做为使用,连接到CANopen总线中做为主使用。自主研发的一款EtherNet/IP
    的头像 发表于 05-07 13:58 2025次阅读
    还在为工业网关的ETHERNET/IP<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西门子1200PLC与伺服电机通讯案例全解

    的其它设备或连接到ProfiNetPLC上,并在正常运行中支持EtherCAT协议。本产品可作为EtherCAT,做为西门子S7-1200系列PLC
    的头像 发表于 03-21 09:42 1388次阅读
    EtherCAT转ProfiNet西门子<b class='flag-5'>1200PLC</b>与伺服电机通讯案例全解

    稳准狠!profinet转ethernetIP网关丝滑操控传感器与PLC通信

    的高效互联,还能在激烈的市场竞争中保持领先,实现智能制造的愿景。网关作为 PN ,其可连接标准的 PN 设备,传感器,流量计,仪器仪表。作为 PN
    的头像 发表于 03-04 15:44 543次阅读
    稳准狠!profinet<b class='flag-5'>主</b><b class='flag-5'>站</b>转ethernetIP网关丝滑操控传感器与<b class='flag-5'>PLC</b>通信

    三格电子-EtherCAT转ModbusTCP/站网关

    ModbusTCP 如变频器、流量计、温度采集模块等,或者接 ModbusTCP PLC
    的头像 发表于 02-11 14:33 707次阅读
    三格电子-EtherCAT<b class='flag-5'>从</b><b class='flag-5'>站</b>转ModbusTCP<b class='flag-5'>主</b><b class='flag-5'>站</b>/<b class='flag-5'>从</b>站网关

    Profinet转EtherNet/IP站网关

    作为PN IO,接PN设备,比如西门子PLC等;在EtherNet/IP侧做为EtherNet/IP
    的头像 发表于 01-21 17:16 854次阅读
    Profinet<b class='flag-5'>从</b><b class='flag-5'>站</b>转EtherNet/IP<b class='flag-5'>从</b>站网关

    Profinet通讯网关模块之Modbus TCP转profinet案例

    Profinet通讯网关模块之Modbus TCP转profinet案例 某汽车零部件制造企业的生产线,其自动化设备来自不同品牌和供
    的头像 发表于 01-15 17:01 1087次阅读
    Profinet通讯网关<b class='flag-5'>模块</b>之Modbus TCP<b class='flag-5'>从</b><b class='flag-5'>站</b>转profinet<b class='flag-5'>主</b><b class='flag-5'>站</b>案例

    新手必看!搞清楚Modbus,让你成为通信达人

    通常安装在现场,用于采集数据或控制过程设备。 设备通常是高级控制器或者上位机,如个人计算机、PLC或SCADA系统的一部分。它能够发送命令给
    的头像 发表于 12-16 16:41 9965次阅读
    新手必看!搞清楚Modbus<b class='flag-5'>主</b><b class='flag-5'>站</b>和<b class='flag-5'>从</b><b class='flag-5'>站</b>,让你成为通信达人